Я пытаюсь сделать redirectAction
другому классу и вызвать конкретный метод в этом классе.
В основном, когда пользователь нажимает ссылку «Изменить» в ячейке в таблице, мы получаем этот объект и помещаем его в поле « », а затем вызываем класс редактора, вызывая метод, который извлекает этот объект из сеанса, чтобы он может отображаться в редакторе.Обновление с Struts2 2.1 до 2.5
Так мои предшественники давно написали систему, и я предпочел бы сделать как можно меньше структурных изменений.
Модернизация до 2,5 разрывов всего, что.
Мы сузили до method
параметра:
<result name="editSingle" type="redirectAction">
<param name="actionName">productEdit</param>
<param name="method">getFromSession</param>
</result>
Когда мы запустим это, мы получаем
"Там нет действий отображается ..."
сообщение ,
Когда мы прокомментируем строку <param name="method">
, она больше не терпит неудачу, но, очевидно, она никогда не попадает в метод, который мы больше не указываем. Документы для redirectAction
перечисляют несколько параметров, но method
не входит в их число. Поэтому мои вопросы, я полагаю, двоякие:
1) Это действительно удалось удалить где-то в поездке перехода 2.1 -> 2.5?
2) Как люди справляются с этим удалением? Мы не можем быть единственными, кто столкнулся с этим.
Это может быть [это] (issues.apache.org/jira/browse/WW-4540), например https://cwiki.apache.org/confluence/display/WW/Action+Configuration#ActionConfiguration-StrictMethodInvocation , Попробуйте это и посмотрите, исправляет ли это это - мне непонятно, работает ли эта работа с методами, определенными XML. –
@DaveNewton, спасибо за предложение, но это не решение. Я добавил метод в, но результат был таким же. В Документах на странице redirectAction указано, что указаны следующие параметры: actionName, namespace, suppressEmptyParameters, parse, anchor. Никакого упоминания «метода» нигде, поэтому я подозреваю, что не могу указать метод вообще. –
Tom