Struts 2検証


最初の検証は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どちらも2つ目を追加する必要があります
2つ目は、検証済みXMLファイル@Action(value="Login"、results={@Result(location="index.jsp"),@Result(name="input",location="login.jsp")})を追加する必要があります.
このファイル名はアクションの名前に関連付けなければなりません


<?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>