我的HTML代码中有五个按钮,每个按钮执行不同的任务。我写了一个表单bean和五个不同的动作类,因为点击提交按钮所有五个按钮完全不同的业务操作altoghether。
我做得对吗?如果是这样的话,如何在我的struts.xml中捕获这个场景
答案 0 :(得分:0)
通常,我喜欢为用户可以采取的每个操作设置1个Action类。因此,如果他们正在执行不同的业务逻辑,那么我认为你只有5个不同的Action类是正确的。
如果所有按钮对应于相同的表单,那么1表单bean也可能有意义。
至于如何在struts.xml中捕获它,我认为你不需要做任何特别的事情。只需像平常一样配置5个动作,并指定5个不同的动作,所有动作都使用相同的表单bean。
<!--This example is not tested, it is just to give you an idea-->
<form-beans>
<form-bean
name="form1"
type="app.Form1"/>
</form-beans>
<action-mappings>
<action
path="/Action1"
type="app.Action1"
name="form1"
input="/pages/input.jsp">
<forward
name="success"
path="/pages/success.jsp"/>
<forward
name="failure"
path="/pages/input.jsp"/>
</action>
<action
path="/Action2"
type="app.Action2"
name="form1"
input="/pages/input.jsp">
<forward
name="success"
path="/pages/success.jsp"/>
<forward
name="failure"
path="/pages/input.jsp"/>
</action>
<action
path="/Action3"
type="app.Action3"
name="form1"
input="/pages/input.jsp">
<forward
name="success"
path="/pages/success.jsp"/>
<forward
name="failure"
path="/pages/input.jsp"/>
</action>
<action
path="/Action4"
type="app.Action4"
name="form1"
input="/pages/input.jsp">
<forward
name="success"
path="/pages/success.jsp"/>
<forward
name="failure"
path="/pages/input.jsp"/>
</action>
<action
path="/Action5"
type="app.Action5"
name="form1"
input="/pages/input.jsp">
<forward
name="success"
path="/pages/success.jsp"/>
<forward
name="failure"
path="/pages/input.jsp"/>
</action>
</action-mappings>