Struts2: отображение и обработка формы за одно действие (возврат к тому же действию)

#struts2

#struts2

Вопрос:

Исходя из фреймворков, таких как Django и RoR, я привык показывать и обрабатывать формы из одного действия. (возврат к действию, которое показывает форму) Возможно ли это и в Struts2? Я хотел бы следующее поведение:

1) Вызывается «users /xyz / edit» 2) HTTP GET -> отображение формы 3) HTTP POST -> проверка формы -> сохранение данных и перенаправление или возврат к форме

Все примеры, которые я рассмотрел, работают с двумя действиями, которые мне не нравятся.

Есть ли какое-либо решение или я должен принять способ Struts2 для этого?

Комментарии:

1. Вы обязательно должны опубликовать обратно к тому же действию.

2. Я не знаю… Если используется проверка, не потребуется ли проверка, чтобы убедиться, что ни один из данных не был заполнен, чтобы не генерировались сообщения об ошибках?

3. Вы можете использовать один и тот же класс действий с двумя методами

Ответ №1:

Да, вы можете использовать тот же класс действий. Хотя это не так элегантно, как оба упомянутых вами фреймворка, поскольку они инкапсулируют принцип REST на уровне фреймворка. Используя базовую платформу Struts 2, просто добавьте скрытый параметр ActionType на свою страницу и форму, обновите его в соответствии со следующим ожидаемым действием (отобразить-> подтвердить-> сохранить-> отобразить).

Или в качестве альтернативы вы можете использовать плагин REST для Struts 2:

http://struts.apache.org/2.x/docs/rest-plugin.html

Надеюсь, это поможет.