Позвольте мне задать вопрос, может быть, просто, но я новичок в Struts2.выполнить действие не рассматривает имя фактического результата в Struts2
У меня есть этот метод действия в действии ProfileAction:
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
String id = (String) session.getAttribute("id");
if (id != null && !id.equals("") && !id.equals("0")) {
return SUCCESS;
}
return "noSession";
}
И это в XML:
<action name="perfil" class="agenda.ProfileAction">
<result name="success" type="tiles">/profile.tiles</result>
<result name="noSession" type="tiles">/login.tiles</result>
</action>
<action name="conexion" class="agenda.ProfileAction" method="login">
<interceptor-ref name="jsonValidationWorkflowStack">
<param name="validation.excludeMethods">init,input</param>
</interceptor-ref>
<result name="loginSuccess" type="tiles">/login/success.tiles</result>
<result name="loginError" type="tiles">/login/error.tiles</result>
</action>
Как вы видите, у меня есть результат "noSession" в методе по умолчанию, но когда я запустите страницу, она выдает исключение, потому что требуется результат ввода. Когда я заменяю «noSession» в XML «вводом», он работает, но побочным эффектом является то, что проверка JSON не работает.
Кажется, что метод execute не вызывается. У меня даже есть исключение для броска, и на самом деле он не называется.
Я traying называть действием таким образом:
http://www.domain.com:8080/AgendaPlus/perfil
Я нашел это в учебнике ... Я не понимаю, что вы имеете в виду, потому что я ничего не заправляю ... Я следую за учебниками шаг за шагом, и я нахожусь на этом шаге, который показывает только страницу, прежде чем фактически представляя форму. – jstuardo
Кстати ... эти проблемы возникают, когда я добавил Json Validation. Перед проверкой все работало так, как ожидалось. – jstuardo
@jstuardo Тем не менее, похоже, что выполняется проверка или преобразование типов. –