Struts2验证

第一种验证就在action类里面validate()


private String uname, pwd,email;
Get  set  --->>
@Override
     public void validate() {
     System.out.println("验证开始");
     if ("tom".equalsIgnoreCase(uname)) {
     super.addActionError("tom是黑名单!不能登录");
     }

     if (pwd.length()<6) {
     super.addActionError("密码不能小于6位!");
     }
    //加入是jack无视以上条件
     if ("jack".equalsIgnoreCase(uname)) {
     super.clearActionErrors();
     }
    }

    @Override
    @Action(value = "Login", results = {@Result(location = "index.jsp"),
            @Result(name = "input", location = "login.jsp") })
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return super.execute();
    }

Index.jsp两种都需要添加
第二种也要

第二种需要添加一个验证的XML文件
@Action(value = “Login”, results = {@Result(location = “index.jsp”),
@Result(name = “input”, location = “login.jsp”)})
也需要加上这个注解
正常登陆不会报错,不正常登陆会显示丢失result input!

这个文件名称必须和Action 的名字有关联



<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd"> <validators> <field name="uname"> <field-validator type="requiredstring"> <message>用户名必填.</message> </field-validator> <field-validator type="stringlength"> <!--指定user属性最小长度--> <param name="minLength">4</param> <!--指定user属性最大长度--> <param name="maxLength">12</param> <message>长度限制4到12</message> </field-validator> </field> <field name="pwd"> <field-validator type="requiredstring"> <message>密码必填.</message> </field-validator> <field-validator type="stringlength"> <!--指定user属性最小长度--> <param name="minLength">6</param> <message>密码长度最小6</message> </field-validator> </field> <field name="email"> <field-validator type="requiredstring"> <message>邮箱必填.</message> </field-validator> <field-validator type="regex"> <param name="expression"><![CDATA[\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*]]></param> <message>邮箱格式非法.</message> </field-validator> </field> </validators>

你可能感兴趣的:(struts2.0,struts2验证)