struts框架中HTML中的多个按钮

时间:2011-08-03 04:50:51

标签: struts

我的HTML代码中有五个按钮,每个按钮执行不同的任务。我写了一个表单bean和五个不同的动作类,因为点击提交按钮所有五个按钮完全不同的业务操作altoghether。

我做得对吗?如果是这样的话,如何在我的struts.xml中捕获这个场景

1 个答案:

答案 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>