报错
DEBUG [http-8080-1] OgnlValueStack.setValue(165) | Error setting value ognl.MethodFailedException: Method "setXxx" failed for object cn.Xxx@f036de [java.lang.NoSuchMethodException: setXxx([Ljava.lang.String;)] ..... /-- Encapsulated exception ------------\ java.lang.NoSuchMethodException: setXxx([Ljava.lang.String;) at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:810) at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:964) at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:75) at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:131) at com.opensymphony.xwork2.util.OgnlValueStack$ObjectAccessor.setProperty(OgnlValueStack.java:68) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656) at ognl.ASTProperty.setValueBody(ASTProperty.java:101) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.ASTChain.setValueBody(ASTChain.java:172) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.Ognl.setValue(Ognl.java:476) ......
一般由于属性名字不对,一般类型不对等原因不解释了。
特殊原因:
属性为 int value1;
页面如果传入后台的参数值是null(这里不管用什么方式传值,只要是不能把null转换为""),那么由于属性为原始类型int,那么就会包上面的错,如果你把int改为Integer则会报另外的错。
不细心很难发现,不要认为什么插件都会把null转化为“”。