Struts2: как передать параметры в URL для диспетчера типов результатов [по умолчанию] - PullRequest
3 голосов
/ 20 июня 2011

Конечно, параметры могут передаваться по URL ( тип результата Redirect / Redirect Action),
или передаваться на действие на @Action(params) (Static Parameters Interceptor)


То, что я хочу

id=123 должно существовать в URL после validation errors (@Result(name="input"))

/update?id=123

Аналогично RESTful шаблон URL (Struts2-rest-plugin не учитывается):

/update/123

Я использую redirect-after-post technique + Message Store Interceptor для успешного действия, но это нельзя использовать для input после validation errors, потому что данные действия (включая недействительные данные) будут потеряны / восстановлены по умолчанию.

Любое решение / предложение приветствуется.Спасибо.

1 Ответ

3 голосов
/ 20 июня 2011

Вы пробовали использовать групповые символы для захвата данных?

Вот ссылка на некоторые документы Struts2 (читая их быстро, я не думаю, что это было очень полезно): http://struts.apache.org/2.0.6/docs/wildcard-mappings.html

Однако, если вы последуете этому посту и решению, вы четко увидите, как собирать данные с URL (хотя автор этого вопроса больше интересовался исключением частей URL, но это только делает тему более полной): Сопоставление действий подстановочного знака Struts2 с фиктивными данными

Возможно, ваша проблема в значительной степени связана с использованием "Redirect After Post".Делать это в Struts2 мало что значит.В общем, это лучше всего решить с помощью пользовательского перехватчика для решения всех этих сквозных задач.Если вы беспокоитесь о двойных отправках, то перехватчик TokenInterceptor уже решает эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...