как перенаправить действие struts2 на URL после проверки? - PullRequest
2 голосов
/ 17 августа 2011

У меня есть действие с созданием URL-адреса, подобное этому

if (this.sequence.equals("") ) {
       action= "input";
   } else {url = "/files/" + testHTML.getName();
         action= "redirect";

    }
      return action;

в моем Struts.xml объявлено, что мое действие имеет

        <interceptor-ref name="completeStack"/>
        <interceptor-ref name="execAndWait">
            <param name="delaySleepInterval">500</param>
        </interceptor-ref>
        <result name="wait">testwait.jsp</result>
        <result name="input">test.jsp</result>
         <result name="redirect" type="redirect">${url}</result>
    </action>

Когда я запускаюприложение, URL-адрес создан, но нет перенаправления на эту новую страницу, но на страницу test.jsp, и у меня появляется сообщение об ошибке проверки.У кого-нибудь есть идеи?

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Ваш оригинальный пример кода выглядит правильно.Вот несколько вещей для проверки:

  • Есть ли в вашем действии метод getUrl()?Часть ${url} результата опирается на этот метод для получения свойства url.
  • Проверяли ли вы, что в каждом случае возвращается правильный результат?например, 'перенаправление' в блоке else и 'input' в противном случае.
0 голосов
/ 17 августа 2011

если вы используете метод validate и если есть ошибки валидации, верните результат name = "input".В вашем случае поставьте редирект в

     <result name="input" type="redirect">${url}</result>
...