不能把表单名用纯数字名称,这样会出错

2012-1-11 15:15:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn

警告: Error setting expression '1' with value '[Ljava.lang.String;@64160e'

ognl.InappropriateExpressionException: Inappropriate OGNL expression: 1

    at ognl.SimpleNode.setValueBody(SimpleNode.java:312)

    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)

    at ognl.SimpleNode.setValue(SimpleNode.java:301)

    at ognl.Ognl.setValue(Ognl.java:737)

    at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:209)

这个 “1”,说明你的表单提交中有一个<input name="1" > 这样的提交项,
struts2的机制是会自动去寻找name1action中的变量,但显然java
不可能存在仅仅由数字组成的变量名1 ,所以就跑出错误了...


解决办法:
把你name为数字1的表单项改成非纯数字名称。

 

猜你喜欢

转载自1025037250.iteye.com/blog/1455557