java.lang.NoSuchMethodException: setMax(java.lang.String)

使用Struts2 验证框架时验证日期类型时出现以下异常。

 

java.lang.NoSuchMethodException: setMax(java.lang.String)
类com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator

 

Google 查询半天 有的解释 是缺少 xwork-2.0.4.jar 包。

 

看CSDN上一个朋友帖子提示

 

publi void setMax(java.util.Date max)和publi void SetMin(java.util.Date min)方法
所以应该是在传递参数的类型出错
把参数max改为Date类型试试。

 

回去检查验证框架中关于日期的验证设置如下:

 <field name="dateValidatorField">
  <field-validator type="date">
   <param name="min">01/01/1900</param>
   <param name="max">01/01/2000</param>
   <message><![CDATA[ must be a min 01-01-1990 max 01-01-2000 if supplied ]]></message>
  </field-validator>
 </field>

可能是 日期校验器范围设置有问题:将 01/01/1900修改为 1900-01-01 验证通过。

 

更详细的原因没有研究。
 

你可能感兴趣的:(java,框架,Google)