0

我的 url 调试模式下的 struts 2 (2.3.1) 应用程序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 似乎在寻找值的 setter 字段,13239但我猜它不适合由数字开始的属性。

4

1 回答 1

1

这或多或少是您个人品味的问题。有时我们想知道任何时候提交的参数在操作上没有匹配的 getter/setter 以及它在开发我们的应用程序中的常见用例,我们忘记了一个动作的getter/setter,我们想知道任何可能的错误情况。

一种可能的方法是从开发到生产设置不同的日志记录级别。在 Struts2 邮件列表上对此进行了长时间的讨论,这里是相同的链接

从 struts 2 升级到 struts 2.1.7 后设置表达式警告的 OgnlValueStack 错误

于 2011-12-15T13:02:36.343 回答