需要验证的Action代码 package com.eduask.action; import java.util.Date; import org.apache.struts2.interceptor.validation.SkipValidation; import com.eduask.base.GenericAction; import com.eduask.voo.Banji; import com.eduask.voo.Student; public class StuCrudAction extends GenericAction { /** * */ private static final long serialVersionUID = -2831189642068636790L; private Student stu; private Integer sid; private String area; private String line; public Integer getSid() { return sid; } public void setSid(Integer sid) { this.sid = sid; } public Student getStu() { return stu; } public void setStu(Student stu) { this.stu = stu; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public String getLine() { return line; } public void setLine(String line) { this.line = line; } @SkipValidation public String show() { stu = this.getStuservice().selectById(sid); return "showone"; } @SkipValidation public String deleteStu() { this.getStuservice().deleteById(sid); return "del"; } public String addStu() { stu.setLastTime(new Date()); Banji bj = this.getBanservice().getByPK(sid); stu.setBanji(bj); this.getStuservice().add(stu); this.setContext("msg", "添加成功"); return "complete"; } public String update() { this.getStuservice().updateById(stu); return "show"; } @SkipValidation public String updatePStu() { stu = this.getStuservice().selectById(sid); return "modify"; } } 验证的方法为addStu和update 定义validate文件名为ActionName-validation.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="repassword"> <field-validator type="requiredstring" short-circuit="true"> <param name="trim"></param> <message>重复密码不能为空</message> </field-validator> <field-validator type="fieldexpression"> <param name="expression"> <!--[CDATA[password==repassword]]> </param> <message>两次密码不一致</message> </field-validator> </field> --> <field name="stu.realname"> <field-validator type="requiredstring"> <param name="trim"></param> <message>姓名不能为空</message> </field-validator> </field> <field name="stu.sex"> <field-validator type="requiredstring"> <param name="trim"></param> <message>请选择性别</message> </field-validator> </field> <field name="stu.major"> <field-validator type="requiredstring"> <param name="trim"></param> <message>专业不能为空</message> </field-validator> </field> <field name="stu.address.area"> <field-validator type="requiredstring"> <param name="trim"></param> <message>籍贯不能为空</message> </field-validator> </field> <field name="stu.address.line"> <field-validator type="requiredstring"> <param name="trim"></param> <message>家庭地址不能为空</message> </field-validator> </field> <field name="stu.person"> <field-validator type="requiredstring" short-circuit="true"> <param name="trim"></param> <message>身份证不能为空</message> </field-validator> <field-validator type="regex"> <param name="expression"> <![CDATA[[/d]{18}]]--> </param> <message>身份证不匹配</message> </field-validator> </field> </validators> 或者在struts配置文件中的相对应得action中加入 <interceptor-ref name="defaultStack"> <param name="validation.includeMethods">addStu,update</param> </interceptor-ref>