Куда Struts перенаправляет контроллер в случае сбоя проверки формы? - PullRequest
1 голос
/ 01 февраля 2010

Перенаправляет ли оно значение в атрибут input в элементе action файла struts-config? Как мы можем установить флаг redirect="true" для форварда при сбое проверки? (Таким образом, URL-адрес страницы, на которую перенаправляется, отображается в браузере вместо html: URL-адреса действия формы.)

1 Ответ

4 голосов
/ 02 февраля 2010

Если имеются какие-либо ошибки проверки, метод execute класса действия не будет вызван; вместо этого элемент управления вернется к «входному» файлу, пока с формой не будут связаны ошибки ActionErrors. Таким образом, ваше утверждение верно, вы перенаправлены на значение в атрибуте «input» в элементе «action» файла «struts-config.xml», или, точнее, вы попадаете туда.

В этот момент вы можете перейти к JSP, в котором есть что-то вроде этого:

<%response.sendRedirect(strWhereTo);%>

Или вы можете указать действие (* .do или какое расширение вы используете) для атрибута «input», где это действие может быть экземпляром org.apache.struts.action.RedirectingActionForward, который перенаправляет на ваш JSP (это давно использовал Struts, так что я не уверен в этом втором методе: D).

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

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