Смена перехватчика Struts2
Я добавил перехватчик Struts2, Там я хочу изменить вызывающее действие, если какой-то логический триггер. В настоящее время я могу изменить файл перенаправления JSP после вызова действия. Но мне нужно изменить вызывающее действие, прежде чем вызывать действие. Есть ли способ вызвать другое действие?
Благодарю вас.
1 ответ
Решение
Ваш метод перехвата в соответствии с вашими комментариями будет выглядеть примерно так:
public String intercept(ActionInvocation actionInvocation) throws Exception {
final ActionContext actionContext = ActionContext.getContext();
final HttpServletRequest httpServletRequest = (HttpServletRequest) actionContext.get(HTTP_REQUEST);
HttpSession httpSession = httpServletRequest.getSession(false);
UserObject userObject = session.getAttribute("User"); //Check for user information, this is just a dummy
if(isSpecificUser(userObject)){
return "SpecificAction";
}
return actionInvocation.invoke();
}
SpecificAction
должен присутствовать в вашем файле конфигурации.