Struts 2 setter неизвестные параметры поля - PullRequest
0 голосов
/ 15 декабря 2011

Приложение My 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, однако, я предполагаю, что оно не подходит для свойства, которое начинается с числа.

1 Ответ

1 голос
/ 15 декабря 2011

Это более или менее вопрос вашего личного вкуса. Иногда мы хотим знать каждый раз, когда передается параметр, у которого нет соответствующего получателя / установщика в действии, и это типичный пример использования при разработке нашего приложения имы забываем о получателе / ​​установщике действия, мы хотим знать о любом возможном случае ошибки.

Один из возможных способов - установить уровень ведения журнала по-разному от dev до production. Об этом в Struts2 было долгое обсуждениеСписок рассылки здесь - это ссылка для того же

OgnlValueStack Ошибка установки предупреждений о выражениях после обновления со стояков 2 до стояков 2.1.7

...