Validation 验证后如何将struts2操作重定向到url?
我有一个像这样的url创建操作Validation 验证后如何将struts2操作重定向到url?,validation,url,redirect,struts2,Validation,Url,Redirect,Struts2,我有一个像这样的url创建操作 if (this.sequence.equals("") ) { action= "input"; } else {url = "/files/" + testHTML.getName(); action= "redirect"; } return action; 在我的struts.xml中,我的操作已声明 <interceptor-ref name="completeStack
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>
500
testwait.jsp
test.jsp
${url}
启动应用程序时,会创建url,但不会重定向到此新页面,而是重定向到test.jsp页面,并且会出现验证错误消息。有人知道吗?如果您使用的是验证方法,并且如果存在验证错误,struts将返回结果name=“input”。在你的情况下,加入重定向
<result name="input" type="redirect">${url}</result>
${url}
您的原始代码示例看起来是正确的。以下是一些需要检查的事项:
- 您的操作是否有
方法?结果的getUrl()
部分依赖于该方法来获取${url}
属性url
- 您是否已验证在每种情况下都返回了正确的结果?e、 例如,在else块中使用“重定向”,否则使用“输入”
ServletRedirectResult
中设置断点,以查看它是否到达重定向。好的,代码仍在工作,问题来自execandwait拦截器