Error setting expression 'user.age' with value '[Ljava.lang.String...

问题描述:

既然你找到这篇文章,相信你也是在使用Struts2的Conversion机制的时候出现了问题,具体代码这里不列出来了,Tomcat的console输入如下:

警告: Error setting expression 'user.age' with value '[Ljava.lang.String;@7787a5'
ognl.MethodFailedException: Method "setAge" failed for object 用户名: null
密码: null
年龄:0
地址: 
 [java.lang.NoSuchMethodException: com.ericsson.ewanbao.common.User.setAge([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)


........


原因分析:

在User这个类中定义age的方法如下:

int age;

如果修改为如下方式:

Integer age;

问题解决。可以看出来Conversion转换的时候从String往int转换有问题。

你可能感兴趣的:(tomcat,struts,object,String,null,Integer)