http://www.cnblogs.com/yaohwang/archive/2012/07/05/2578567.html
警告: Error setting expression 'date' with value '[Ljava.lang.String;@1ee5b36'
ognl.MethodFailedException: Method "setDate" failed for object com.shengsiyuan.struts2.LoginAction@138b4ed [java.lang.NoSuchMethodException: com.shengsiyuan.struts2.LoginAction.setDate([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1285)
at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1474)
at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)
at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)
....
public class LoginAction implements Action{
private Date birth;
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
...
}
析原因为从JSP页面传过来的String值2011-10-10末能正确的转换为Date类型的值。
但结果还是能“较正确的显示”,如下:
后经查询(http://www.iteye.com/problems/38729),得知,问题的确出在JSP页面上的输入格式上,正确格式为:月/日/年,如(07/05/2012)
现在的输出为:
但确有人用2011-10-10格式输入,并得到了正确的结果,至于原因是什么,现不知。