我的struts 2(2.3.1)应用程序在调试模式下为url http://localhost/app/check.action?13239 raises such kind of exceptions
2011-12-15 14:45:06,455 DEBUG [CommonsLogger.java:68] : Setting static parameters {}
2011-12-15 14:45:06,456 DEBUG [CommonsLogger.java:68] : Setting params NONE
2011-12-15 14:45:06,456 DEBUG [CommonsLogger.java:68] : Setting params 13239 => [ ]
2011-12-15 14:45:06,461 WARN [CommonsLogger.java:60] : Error setting expression '13239' with value '[Ljava.lang.String;@33b4450e'
ognl.InappropriateExpressionException: Inappropriate OGNL expression: 13239
at ognl.SimpleNode.setValueBody(SimpleNode.java:312)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301)
我希望根据文件默默地忽略它们。解决此问题的正确方法是什么?
顺便说一下struts正在为值13239
寻找一个setter字段但是我猜它不适合由一个数字启动的属性。
答案 0 :(得分:1)
这或多或少是您个人品味的问题。有时我们想知道提交的参数在动作上没有匹配的getter / setter,并且它是开发我们的应用程序的常见用例我们忘记了一个动作的getter / setter,我们想知道任何可能的错误情况。
一种可能的方法是将日志记录级别设置为不同于dev到production。在Struts2邮件列表上对此进行了长时间的讨论,这里是相同的链接
OgnlValueStack Error setting expression warnings after upgrade from struts 2 to struts 2.1.7