当表单验证失败时,Struts 控制器重定向到哪里?
它是否重定向到 struts-config
文件的 action
元素中的 input
属性中的值?当验证失败时,我们如何为转发设置标志 redirect="true"
? (这样浏览器中就会显示被重定向到的页面的 url,而不是 html:form 操作 url。)
Does it redirect to the value in input
attribute in the action
element of struts-config
file? How can we set the flag redirect="true"
for the forward when validation fails? ( So that the url of page being redirected to, is shown in the browser instead of html:form action url. )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果存在任何验证错误,则不会调用操作类的“execute”方法;相反,控件将返回到“输入”文件,直到表单没有与之关联的 ActionErrors。所以你的陈述是正确的,你被重定向到“struts-config.xml”的“action”元素中的“input”属性中的值,或者更准确地说,你被转发到那里。
此时,您可以转发到一个包含类似内容的 JSP:
或者您可以为“input”属性指定一个操作(*.do 或您正在使用的扩展名),其中该操作可以是
org.apache.struts.action.RedirectingActionForward
重定向到您的 JSP(自从我使用 Struts 以来已经有一段时间了,所以我对第二种方法不太确定:D)。希望这有帮助。干杯!
If there are any validation errors, the "execute" method of the action class will not get called; instead the control will go back to the “input” file until the form has no ActionErrors associated with it. So your statement is correct, you get redirected to the value in the “input” attribute in the “action” element of “struts-config.xml”, or more exactly, you are forwarded there.
At this point you could forward to a JSP containing something like this in it:
Or you could specify an action (*.do or what extension you are using) for the "input" attribute, where this action could be an instance of
org.apache.struts.action.RedirectingActionForward
which redirects to your JSP (it’s been a while since I used Struts, so I’m not so sure about this second method :D).Hope this helps. Cheers!