让我的ActionForward识别不同的提交按钮 - 通过Struts的Java和JSP

时间:2013-03-19 19:35:25

标签: java javascript jsp struts

对Struts的细节感到有点困惑,对于任何令人困惑的术语感到抱歉,我对使用Struts非常陌生。

我正在尝试让我的ActionForward Handler类识别JSP页面发送给它的不同Submit按钮输入以获得不同的结果。

目前我所拥有的是两个按钮:提交和取消。单击时,它们通过一个类中的验证方法将数据库信息传递到操作处理类(EditThis.doIt)中的另一个方法,我的任务是添加第三个按钮来删除此信息。我想要做的是添加一个删除按钮作为提交按钮,如下所示:

 <div align="left"> &nbsp;
 <html:submit value="Submit" styleClass="button"/>
 &nbsp;&nbsp;
 <html:cancel styleClass="button"/>
 &nbsp;&nbsp;
 <html:submit value="Delete" styleClass="button"/>
 </div>

但我不知道如何让ActionForward识别删除和提交之间的区别。我能做些什么,保持在Struts中,实现这一目标?

1 个答案:

答案 0 :(得分:0)

我想我理解你的问题。当你点击提交按钮时,你在Action类中调用了“excute()”方法。但是你想点击删除按钮在同一个动作中做另一件事。就是这样。对? 如果我是对的,我的建议是

在struts.xml中声明另一个动作,并使用与提交按钮相同的动作类,声明此动作中要使用的方法。

这是我项目中的struts.xml

    <action name="elecDeleteAction" class="com.gs.action.ElecAction" method="delete">
        <result name="success">/elec/elecadmin/deletesuccess.jsp</result>
        <result name="fail">/elec/elecadmin/deletefail.jsp</result>
    </action>
    <action name="elecIndexAction" class="com.gs.action.ElecAction" method="index">
        <result name="success">/index.jsp</result>
    </action>

这就是说使用属性“method”来声明要调用的方法。