Обновление от Struts2 2.1 до 2.5
Я пытаюсь сделать redirectAction
в другой класс, и вызвать конкретный метод в этом классе.
По сути, когда пользователь нажимает ссылку "Изменить" в ячейке таблицы, мы получаем этот объект и помещаем его в сеанс, а затем вызываем класс Editor, вызывая метод, который извлекает этот объект из сеанса, чтобы он мог отображается в редакторе.
Именно так мои предшественники писали систему давно, и я бы предпочел внести как можно меньше структурных изменений.
Обновление до 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) Как люди справляются с этим удалением? Мы не можем быть единственными, кто столкнулся с этим.
1 ответ
1) Это действительно было удалено где-нибудь в пути миграции 2.1 -> 2.5?
Нет, я сравнил Struts 2.5 ServletActionRedirectResult.java со Struts 2.1 ServletActionRedirectResult.java, и оба параметра совпадают method
!