建网站哪家好案例,南昌企业网站建设公司哪个好,工作室logo,查权重的软件Stripes视图框架Java对象属性验证#xff0c;它允许对字段设置是否必须填写#xff0c;对数字大小进行限制等。我用prototype.js Ajax 将验证后的数据及时地展示出来#xff0c;下面来看程序。1、编写User实体类此用户共三个属性#xff1a; name、email、age.package com.…Stripes视图框架Java对象属性验证它允许对字段设置是否必须填写对数字大小进行限制等。我用prototype.js Ajax 将验证后的数据及时地展示出来下面来看程序。1、编写User实体类此用户共三个属性 name、email、age.package com.boonya.stripes.entity;public class User {private String name;private String email;private int age;public String getName() {return name;}public void setName(String name) {this.name name;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}public int getAge() {return age;}public void setAge(int age) {this.age age;}}2、编写UserActionBean视图控制Action类此类中包含了用户输入界面(userRegister.jsp)和用户数据提交完成后的数据展示界面(userInfo.jsp)我们要验证的是用户的数据合法的时候才展示用户数据。package com.boonya.stripes.actions;import com.boonya.stripes.entity.User;import net.sourceforge.stripes.action.DefaultHandler;import net.sourceforge.stripes.action.ForwardResolution;import net.sourceforge.stripes.action.Resolution;import net.sourceforge.stripes.action.SessionScope;import net.sourceforge.stripes.validation.Validate;import net.sourceforge.stripes.validation.ValidateNestedProperties;SessionScopepublic class UserActionBean extends AbstractActionBean {private static final long serialVersionUID 1L;protected static final String REGISTER/WEB-INF/userRegister.jsp;protected static final String USER_INFO/WEB-INF/userInfo.jsp;ValidateNestedProperties({Validate(field name,requiredtrue,on {viewUserInfo}),Validate(field email,requiredtrue,on {viewUserInfo}),Validate(field age, required true, minvalue 13, on {viewUserInfo})})private User user;DefaultHandlerpublic Resolution register() {return new ForwardResolution(REGISTER);}public Resolution viewUserInfo(){return new ForwardResolution(USER_INFO);}public void setUser(User user) {this.user user;}public User getUser() {return user;}}注ValidateNestedProperties 验证对象包含的特殊属性字段值的限制Validate 具体验证的字段。filed表示字段、required表示是否必需、on表示绑定到的事件方法。3、编写界面操作的Jsp文件userRegister.jsppageEncodingUTF-8%html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtdUser-Registerfunction userHandleAjax() {var myAjax new Ajax.Updater(‘user‘,‘‘,{method: ‘get‘,parameters:Form.serialize(‘userForm‘)});}Update user info: Name: Email: Age:userInfo.jsppageEncodingUTF-8%urihttp://stripes.sourceforge.net/stripes.tld%html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtdUser-InfoUser‘s infoHello ${actionBean.user.name}Email: ${actionBean.user.email}age: ${actionBean.user.age}注表单字段赋值对象.属性 即user.name等等而取值以$(actionBean.对象.属性)即${actionBean.user.name}等等;4、测试表单提交数据异常处理故意少输入参数页面显示请求不正常页面产生的异常代码提示Caused by: java.util.MissingResourceException: Could not find an error message with any of the following keys:‘com.boonya.stripes.actions.UserActionBean.user.age.valueNotPresent‘,‘com.boonya.stripes.actions.UserActionBean.user.age.errorMessage‘,‘/actions/User.action.user.age.valueNotPresent‘,‘/actions/User.action.user.age.errorMessage‘,‘user.age.valueNotPresent‘,‘user.age.errorMessage‘,‘com.boonya.stripes.actions.UserActionBean.valueNotPresent‘.com.boonya.stripes.actions.UserActionBean.errorMessage‘, ‘/actions/User.action.valueNotPresent‘, ‘/actions/User.action.errorMessage‘, ‘validation.required.valueNotPresent‘.at net.sourceforge.stripes.validation.ScopedLocalizableError.getMessageTemplate(ScopedLocalizableError.java:164)at net.sourceforge.stripes.action.SimpleMessage.getMessage(SimpleMessage.java:91)at net.sourceforge.stripes.validation.SimpleError.getMessage(SimpleError.java:102)at net.sourceforge.stripes.tag.ErrorsTag.doEndTag(ErrorsTag.java:349)at org.apache.jsp.WEB_002dINF.userRegister_jsp._jspService(userRegister_jsp.java:109)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)... 46more当Stripes验证失败时不知道怎样返回这些错误信息解决方案也很简单从 Stripes 包中复制一份 StripesResources.properties 到项目的源代码跟目录下(与WEB/classess同级)即可。加入StripesResources.properties文件后输入nameboonya,[email protected],age12.;测试效果如下图所示此时年龄验证错误但是Stripes的错误消息已经知道该怎么提示错误信息给用户了。5、测试正确的验证和Ajax效果在表单输入框中输入符合验证条件的数据如nameboonya,[email protected],age23.;效果如下图所示至此整个示例程序测试完毕。原文http://sunl2014.blog.51cto.com/8889033/1532416