- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts2教程4:使用validate方法验证数据
上一篇:Struts2教程3:struts.xml常用配置解析
Struts2中最简单的验证数据的方法是使用validate。我们从ActionSupport类的源代码中可以看到,ActionSupport类实现了一个Validateable接口。这个接口只有一个validate方法。如果Action类实现了这个接口,Struts2在调用execute方法之前首先会调用这个方法,我们可以在validate方法中验证,如果发生错误,可以根据错误的level选择字段级错误,还是动作级错误。并且可使用addFieldError或addActionError加入相应的错误信息,如果存在Action或Field错误,Struts2会返回“input”(这个并不用开发人员写,由Struts2自动返回),如果返回了“input”,Struts2就不会再调用execute方法了。如果不存在错误信息,Struts2在最后会调用execute方法。
这两个add方法和ActionErrors类中的add方法类似,只是add方法的错误信息需要一个ActionMessage对象,比较麻烦。除了加入错误信息外,还可以使用addActionMessage方法加入成功提交后的信息。当提交成功后,可以显示这些信息。
以上三个add方法都在ValidationAware接口中定义,并且在ActionSupport类中有一个默认的实现。其实,在ActionSupport类中的实现实际上是调用了ValidationAwareSupport中的相应的方法,也就是这三个add方法是在ValidationAwareSupport类中实现的,代码如下:
private?final?ValidationAwareSupport?validationAware?=?new?ValidationAwareSupport();public?void?addActionError(String?anErrorMessage)?{??????validationAware.addActionError(anErrorMessage);}public?void?addActionMessage(String?aMessage)?{????validationAware.addActionMessage(aMessage);}public?void?addFieldError(String?fieldName,?String?errorMessage)?{????validationAware.addFieldError(fieldName,?errorMessage);}
下面我们来实现一个简单的验证程序,来体验一个validate方法的使用。
先来在Web根目录建立一个主页面(validate.jsp),代码如下:
<%@?page?language="java"?import="java.util.*"?pageEncoding="GBK"%><%@?taglib?prefix="s"?uri="/struts-tags"?%><html>??<head>????<title>验证数据</title>??</head>????<body>????<s:actionerror/>????<s:actionmessage/>????<s:form?action="validate.action"??theme="simple">????????输入内容:<s:textfield?name="msg"/>?????????<s:fielderror?key="msg.hello"?/>?????????<br/>?????????<s:submit/>????</s:form>??</body></html>
Struts2的tag:<s:actionerror>、<s:fielderror>和<s:actionmessage>,分别用来显示动作错误信息,字段错误信息,和动作信息。如果信息为空,则不显示。
现在我们来实现一个动作类,代码如下:
package?action;import?javax.servlet.http.*;import?com.opensymphony.xwork2.ActionSupport;import?erceptor.*;public?class?ValidateAction?extends?ActionSupport{????private?String?msg;????public?String?execute()?????{????????System.out.print
您可能关注的文档
- 2013年计算机等考二级《VB》复习要点2.doc
- 20第二十章外币折算.doc
- 2014中山大学岭南学院801考研资料.doc
- 21老人与海鸥(2、3)好.doc
- 22.培训效果的评估方法.doc
- 23生产件批准程序.doc
- 25110综放工作面防火安全技术措施.doc
- 26夏季施工安全技术交底.doc
- 2二年级语文试卷分析.doc
- 2013稽查工作思路.doc
- 山东省临沂市沂水县2023-2024学年高一下学期期中考试历史试题.docx
- 江苏省泰州市靖江高级中学2023-2024学年高二下学期4月期中考试物理试题(无答案).docx
- 新疆部分名校2023-2024学年高二下学期期中联合考试语文试题.docx
- 湖南省岳阳市岳阳县第一中学2023-2024学年高三下学期4月期中考试数学试题.docx
- 山东省烟台市2023-2024学年高二下学期4月期中生物试题(无答案).docx
- 江苏省靖江高级中学2023-2024学年高二下学期期中地理试题(无答案).docx
- 四川省甘孜藏族自治州某重点中学2023-2024学年高一下学期4月期中考试物理试题.docx
- 湖北省武汉市华中师范大学第一附属中学2023-2024学年高二下学期4月期中英语试题(无答案).docx
- 四川省成都市金牛区成都市实验外国语学校2024年高三三模考试生物试题.docx
- 浙江省宁波市北仑中学2023-2024学年高二下学期期中考试物理试题.docx
文档评论(0)