我在另一个Struts Action中的方法中调用一个Struts操作中的方法时遇到了麻烦(我被告知这是可能的)。
我正在使用两个Struts DynaValidatorForms - 一个用于创建条目,另一个用于查看操作(加上编辑,删除等)。
我有两个单独的Struts Action文件:CreateAction.java(具有create()方法)和ViewAndEditAction.java(包含view()和edit()方法)。
我想要做的是在前一个动作中的create()方法完成后,在后一个动作中调用view()方法。
我已经查看了Action Chaining,但未能找到解决问题的方法。
答案 0 :(得分:1)
您需要在第一个操作中创建前进到下一个操作。然后返回适当的前锋。在下面的配置中,如果在Create操作中返回“success”,则它将转到下一个操作的view方法。
<action
path="/create"
type="package.CreateAction"
name="YourForm"
scope="request"
validate="false">
<forward
name="failure"
path="/mainMenu.jsp"/>
<forward
name="success"
path="/view.do" redirect="false"/>
</action>
<action
path="/view"
type="package.ViewAndEditAction"
name="YourForm"
scope="request"
validate="false">
<forward
name="failure"
path="/mainMenu.jsp"/>
<forward
name="success"
path="/view.jsp"/>
</action>