2017-01-24 16 views
2

Я пытаюсь сделать 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) Как люди справляются с этим удалением? Мы не можем быть единственными, кто столкнулся с этим.

+0

Это может быть [это] (issues.apache.org/jira/browse/WW-4540), например https://cwiki.apache.org/confluence/display/WW/Action+Configuration#ActionConfiguration-StrictMethodInvocation , Попробуйте это и посмотрите, исправляет ли это это - мне непонятно, работает ли эта работа с методами, определенными XML. –

+0

@DaveNewton, спасибо за предложение, но это не решение. Я добавил метод в , но результат был таким же. В Документах на странице redirectAction указано, что указаны следующие параметры: actionName, namespace, suppressEmptyParameters, parse, anchor. Никакого упоминания «метода» нигде, поэтому я подозреваю, что не могу указать метод вообще. – Tom

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^