Добрый день в моем часовом поясе.Вперед от действия к действию
Я разрабатываю веб-приложение с использованием рамок struts. В простой форме, когда пользователь совершает вызов приложению первое действие, которое будет вызов является SecurityAction, то это действие перенаправляет к одному из двух действий, это, как я сделать редирект:
if (user == "type_profile")
forward = mapping.forward("action2Fwd");
else
forward = mapping.forward("action3Fwd");
return forward;
В распорки-config.xml я есть
<global-forwards>
<forward name="action2Fwd" path="/action2.do"/>
<forward name="action3Fwd" path="/action3.do"/>
</global-forwards>
<action path="/action2"
type="com.teste.dummy.action2"
name="actionForm"
validate="true"
input="/action2.jsp">
</action>
Мой первый вопрос: Является ли это лучший способ перенаправить от действия к другому действию?
Второй вопрос: когда я перенаправляюсь к другому действию, actionForm будет выполняться, как я могу узнать, что этот запрос пришел из другого действия?
Внутри формы, если запрос приходит из другого действия, я не хочу ничего проверять, поэтому я должен знать, что этот запрос поступает из другого действия, а не из «браузера», одним из решений является флаг в области запроса или сеанса, указывающий, что этот запрос поступает из другого действия, но является ли это лучшим способом?
Но есть ли способ узнать, кто перенаправить этот запрос? Что-то вроде -> mapping.getWhoRedirect() – tt0686
@ tt0686 Поместив эту информацию в форму (или запрос или что-то еще). Один и тот же флаг можно использовать как для определения того, что он пришел из другого действия, и из какого действия он пришел. Я не уверен, что это * хорошая * архитектура, но механизм звучит. Вы можете * попробовать * использовать реферер, но meh. –