一、基于配置文件的验证,这种验证只适合简单的格式验证不用于后台逻辑验证跟action位于同一个包下命名为xxaction-validation.xml 这是全局验证要是action里面有很多个方法对具体方法验证则xxaction-xx(方法名)-validation.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <!-- 这是GoodsAction中公共的验证资源文件 --> <field name="User_username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>请输入用户名</message> </field-validator> </field> <field name="User_password"> <field-validator type="requiredstring"> <message>请输入密码</message> </field-validator> </field> <field name="verifycode"> <field-validator type="requiredstring"> <message>请输入验证码</message> </field-validator> </field> </validators> struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <package name="login" namespace="/" extends="default" > <action name="login" class="com.sys.action.LoginAction"> <result name="input">/index.jsp</result> <result name="success">/admin/index.jsp</result> </action> </struts> 第二种需要服务器业务判断的public class LoginAction extends ActionSupport { private String User_role; private String User_username; private String User_password; private String verifycode; public String getVerifycode() { return verifycode; } public void setVerifycode(String verifycode) { this.verifycode = verifycode; } public String getUser_role() { return User_role; } public void setUser_role(String userRole) { User_role = userRole; } public String getUser_username() { return User_username; } public void setUser_username(String userUsername) { User_username = userUsername; } public String getUser_password() { return User_password; } public void setUser_password(String userPassword) { User_password = userPassword; } @Override public void validate() { super.validate(); HttpSession session=ServletActionContext.getRequest().getSession(); String indentity = (String)session.getAttribute("indentity"); if(this.getUser_username().equals("")){ this.addFieldError("User_username", "账号不能为空"); } if(this.getUser_password().equals("")){ this.addFieldError("User_password", "密码不能为空"); } if(!(verifycode.equalsIgnoreCase(indentity))){ this.addFieldError("verifycode", "验证码不正确"); } } public String execute() { System.out.print(User_role); System.out.print(User_password); if(hasFieldErrors()){ return INPUT; }else{