Struts2 准备方法

Struts2 prepare method

我正在开发一个 struts2 应用程序,我有 4 个相关操作。当我打电话给第一个 "EditMagazineAction" 时,你有时希望被重定向到 "EditBooksAction"。
当我来自 "ValidateBooksAction" 时,我想要这个重定向。因此,我在会话中保存了我来自的值,并调用了 EditMagazineAction 的准备方法,该方法将检查我是否要留在此操作中,或更改为 "EditBooksAction"。如果我只想重定向到这个 ("EditBooksAction"),我不会在 "EditMagazineAction" 的准备方法上执行任何其他操作,但如果我想留下来,我会继续准备。 这对我有用,但我被告知那不是 "really correct"。这有多糟糕? 在这个项目中我无法获得真正的重定向,我无法直接进入"EditBooksAction",所以我必须通过"EditMagazineAction"。

您可以像下面那样使用redirect action result

<package name="public" extends="struts-default">
    <action name="action1" class="...">
        <result name="redirect1" type="redirectAction">
            <param name="actionName">action2</param>
        </result>
        <result name="no_redirect">my.jsp</result>
        <result name="redirect2" type="redirectAction">
            <param name="actionName">action3</param>
        </result>
    </action>
</package>

然后在您的操作中 return redirect1no_redirectredirect2