使用XML对Action方法进行校验方式有两种,一种是对Action的所有方法进行校验,另一种是对Action指定方法进行校验.
对Action的所有方法进行校验:步骤:1.创建Action需要继承ActionSupport2.提供校验的xml文件,该文件和action放在同一个包下校验文件的取名格式为:PersonAction-validation.xml,其中PersonAction为action的简单类名,-valication为固定写法示例:
Action:- public class PersonAction extends ActionSupport{
- private String username;
- private String mobile;
-
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getMobile() {
- return mobile;
- }
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
-
- public String update(){
- ActionContext.getContext().put("message", "更新成功");
- return "message";
- }
-
- public String save(){
- ActionContext.getContext().put("message", "保存成功");
- return "message";
- }
- }
校验的xml文件:- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
- <validators>
- <field name="username">
- <field-validator type="requiredstring">
- <param name="trim">true</param>
- <message>用户名不能为空!</message>
- </field-validator>
- </field>
- <field name="mobile">
- <field-validator type="requiredstring">
- <message>手机号不能为空!</message>
- </field-validator>
- <field-validator type="regex">
- <param name="expression"><![CDATA[^1[358]d{9}$]]></param>
- <message>手机号格式不正确!</message>
- </field-validator>
- </field>
- </validators>
通过Struts2标签库打印校验信息:- <%@ taglib uri="/struts-tags" prefix="s"%>
- <s:fielderror/>
对Action指定方法进行校验:要对指定的Action方法进行校验必须指明要校验的方法,指明校验的方法需要修改校验的文件名称,比如”PersonAction-manage_update-validation.xml“,PersonAction为要校验的Action;manage_update指定Action中校验的方法如下struts.xml的 action namevalidation为规定名称。
- <struts>
- <package name="person" namespace="/person" extends="struts-default">
- <action name="manage_*" class="cn.itcast.action.PersonAction" method="{1}">
- <result name="input">/index.jsp</result>
- <result name="message">/WEB-INF/page/message.jsp</result>
- </action>
- </package>
- </struts>