Struts 2 OGNL - 比较validation.xml中的两个字符串值

时间:2013-02-28 21:41:01

标签: java struts2 validation ognl

我是Struts2和OGNL的新手,正在制作一个带注册页面的简单Web应用程序。有两个字段passwordrepassword(重新输入密码)并使用验证框架我想验证这两个密码是否匹配(我知道我可以使用JavaScript轻松完成)。这是我到目前为止所得到的。所有的现场验证器都工作正常。这是我的第一个非现场验证器,我无法让它工作。

<validator type="expression">
    <param name="expression">${password}!=${repassword}</param>
    <message>Passwords must match.</message>
</validator> 

我尝试了

${password}!=${repassword}

且没有

password!=repassword

OGNL标签。

2 个答案:

答案 0 :(得分:3)

expression验证程序是非字段级验证程序。使用fieldexpression验证程序,它是一个字段级验证程序,并使用OGNL表达式进行验证。它必须等于(==)检查。

<field name="password">
  <field-validator type="fieldexpression">
    <param name="expression"><![CDATA[password == repassword]]></param>
    <message>Passwords must match.</message>
  </field-validator>
</field>

expression验证程序添加了操作错误。 fieldexpression验证程序会添加字段错误。

答案 1 :(得分:2)

%{password == repassword}

验证器检查两者是否相等的布尔OGNL表达式。