欢迎来到天天文库
浏览记录
ID:43708516
大小:608.00 KB
页数:58页
时间:2019-10-13
《Struts2输入校验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Struts2输入校验(1)使用编码方式校验可以通过客户端的脚本进行校验,在服务器端也有校验,是系统的最后的屏障,所以在服务器端校验要比客户端校验更加的重要。Struts2提供了完善的输入校验机制,提供多种方式进行。最简单的验证数据的方法是使用validate我们从ActionSupport类的源代码中可以看到,ActionSupport类实现了一个Validateable接口。这个接口只有一个validate方法。如果Action类实现了这个接口,Struts2在调用execute方法之前首先会调用这个方法,我们可以在val
2、idate方法中验证,如果发生错误,可以根据错误的level选择字段级错误,还是动作级错误。并且可使用addFieldError或addActionError加入相应的错误信息,如果存在Action或Field错误,Struts2会返回“input”(这个并不用开发人员写,由Struts2自动返回),如果返回了“input”,Struts2就不会再调用execute方法了。如果不存在错误信息,Struts2在最后会调用execute方法。一个简单的验证程序Validate.jsp<%@pagelanguage="java"im
3、port="java.util.*"pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%>
4、>Struts2的tag动作错误信息字段错误信息动作信息,如果信息为空,则不显示。Field错误需要一个key(一般用来表示是哪一个属性出的错误),而Action错误和Action消息只要提供一个信息字符串就可以了。ValidateActionpackagecom.ambow.py.action;importcom.opensymphony.xwork2.ActionS
5、upport;publicclassValidateActionextendsActionSupport{privateStringmsg;publicStringgetMsg(){returnmsg;}publicvoidsetMsg(Stringmsg){this.msg=msg;}@OverridepublicStringexecute()throwsException{System.out.println(SUCCESS);returnSUCCESS;}@Overridepublicvoidvalidate(){if(
6、!("hello".equalsIgnoreCase(msg))){System.out.println(INPUT);this.addFieldError("msg.hello","必须输入hello!");this.addActionError("处理动作失败!");}else{this.addActionMessage("提交成功!");}}}配置Action7、ass="com.ambow.py.action.ValidateAction">validate.jspvalidate.jspStruts2输入校验(2)复习validate()方法完成如下jsp页面的空值校验增加新的textfield字段名为age在validate方法中添加逻辑校验username长度须大于4小于30password和repass
7、ass="com.ambow.py.action.ValidateAction">validate.jspvalidate.jsp
8、word值须相等生日需大于1900.1.1小于今日日期年龄大于-1小于150代码片断usernamepassword和repassword代码片断agebirthday修改struts.xml增加resultname=“input”的结果,让响应返回输入信息页面validat
此文档下载收益归作者所有