关于struts 2中的验证 - 第一次验证确定接下来会产生错误的页面

时间:2012-06-28 07:32:58

标签: java servlets struts2

我在连续验证期间对struts2中的验证有轻微问题。现在,如果在表单上第一次发现错误,则使用正确的URL,例如:

http://localhost:8080/Appname/Secure/AddAction.action

但是,如果在第二次验证期间表单上有错误,则使用生成的URL(此URL错误)

 http://localhost:8080/Appname/AddAction.action

这就是我在struts.xml中的内容

 <action name="AddAction" class="controller.AddAction">
            <param name="dR"></param>
            <param name="dS"></param>
            <result name="input">/Secure/AddAction.jsp</result>
            <result name="error">/Error.jsp</result>
            <result name="success" type="redirect">
                <param name="location">/Secure/AddAction.jsp?msg=${msg}</param>
            </result>
        </action>

关于我如何解决问题的任何建议

编辑:更新: 所以在验证中我把以下代码

HttpServletRequest request = ServletActionContext.getRequest();
            String r = request.getRequestURI();

第一次:/Appname/Secure/AddAction.action

但下一次是:/Appname/AddAction.action

我怎样才能让它们同时出现?

1 个答案:

答案 0 :(得分:0)

哪个命名空间定位了你的行动?默认还是安全?试试这个:

<action name="/Secure/AddAction" class="controller.AddAction">
            <param name="dR"></param>
            <param name="dS"></param>
            <result name="input">/Secure/AddAction.jsp</result>
            <result name="error">/Error.jsp</result>
            <result name="success" type="redirect">
                <param name="location">/Secure/AddAction.jsp?msg=${msg}</param>
            </result>
        </action>