0

連続した検証中に struts2 の検証でわずかな問題が発生しています。フォームで初めてエラーが見つかった場合は、次のような正しい URL が使用されます。

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

ただし、2 回目の検証中にフォームにエラーが発生した場合は、結果の 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

両方とも同じにするにはどうすればよいですか?

4

1 に答える 1

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>
于 2012-06-28T10:56:46.953 に答える