验证后如何将struts2动作重定向到url?

时间:2011-08-17 10:44:59

标签: validation url redirect struts2

我有像这样的网址创建动作

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 个答案:

答案 0 :(得分:1)

您的原始代码示例看起来是正确的。以下是一些要检查的事项:

  • 您的操作是否采用getUrl()方法?结果的${url}部分依赖于该方法来获取url属性。
  • 您是否确认在每种情况下都返回了正确的结果?例如,在else块中'重定向',否则在'输入'。

答案 1 :(得分:0)

如果您使用的是验证方法,并且如果存在验证错误,则struts返回结果name =“input”。在你的情况下把重定向放在

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