当表单验证失败时Struts控制器重定向在哪里?

时间:2010-02-01 16:59:49

标签: java forms jsp struts

是否重定向到input文件的action元素中的struts-config属性中的值?如果验证失败,我们如何为转发设置标志redirect="true"? (以便将页面的网址重定向到,在浏览器中显示而不是html:form action url。)

1 个答案:

答案 0 :(得分:4)

如果存在任何验证错误,则不会调用操作类的“execute”方法;相反,控件将返回“输入”文件,直到表单没有与之关联的ActionErrors。因此,您的语句是正确的,您将被重定向到“struts-config.xml”的“action”元素中“input”属性中的值,或者更确切地说,您将被转发到那里。

此时,您可以转发到包含类似内容的JSP:

<%response.sendRedirect(strWhereTo);%>

或者您可以为“input”属性指定一个操作(* .do或您正在使用的扩展名),其中此操作可以是重定向到您的JSP的org.apache.struts.action.RedirectingActionForward实例(已经有一段时间了)因为我使用Struts,所以我对第二种方法不太确定:D)。

希望这会有所帮助。干杯!