Struts2:处理一个form多个submit (3种方法)

来源:互联网 发布:庞珣 知乎 编辑:程序博客网 时间:2024/05/17 09:13

第一种:JS控制form表单action的去向()

【第1步】index.jsp

<head>  <script type="text/javascript">function toadd() {document.form.action="submitDemo!add.action";}  function todelete() {document.form.action="submitDemo!delete.action";}  </script></head>  <body>  <form name="form" action="">   <s:submit value="添加" onclick="toadd()"></s:submit>    <s:submit value="删除" onclick="todelete()"></s:submit>  </form></body>
注:按钮中添加了onclick事件用来更改form表单的action属性,叹号前面是action名字,叹号后面是action对应的方法名;Action处理类中必须提供叹号后面对应的方法。

【第2步】struts.xml

<action name="submitDemo" class="com.lrj.struts2.SubmitAction"><result name="add">/add.jsp</result><result name="delete">/delete.jsp</result></action>

【第3步】实现Action类

//add方法public String add() throws Exception {return "add";}//delete方法public String delete() throws Exception {return "delete";</body>

第二种:JS控制form表单action的去向(通配符)
【第1步】index.jsp

<head><script type="text/javascript">function toadd() {document.form.action="submitDemo_add.action";}function todelete() {document.form.action="submitDemo_delete.action";}</script></head>  <body><s:form name="form" action="">    <s:submit value="添加" onclick="toadd()"></s:submit>    <s:submit value="删除" onclick="todelete()"></s:submit></s:form> </body>
注:按钮中添加了onclick事件用来更改form表单的action属性。(form表单action属性中的下划线也可以为/,下划线后面是action对应的方法名)

【第2步】struts.xml

<package name="struts2" extends="struts-default"><action name="submitDemo_*" method="{1}" class="com.lrj.struts.submitAction"><result >/{1}.jsp</result></action></package>

注:method属性中不能写0result标签中的name属性可以不写,不过Action处理类要继承ActionSupport,并且都是返回SUCCESS标准返回值(如下)。

【第3步】实现Action类

public class submitAction extends ActionSupport{public String add() throws Exception {return SUCCESS;}public String delete() throws Exception {return SUCCESS;}}

第三种:submit标签中的method指定调用的方法(页面中不用JS 本人挺喜欢用的)
【第1步】index.jsp

<body><s:form action="submitDemo.action">    <s:submit value="保存" method="save"></s:submit>    <s:submit value="打印" method="print"></s:submit></s:form> </body>
注:在index.jsp中有两个submit:保存和打印。其中分别通过method属性指定了要调用的方法:save和print。因此,在Action类中必须要有saveprint方法。

【第2步】struts.xml

<package name="struts2" extends="struts-default"><action name="submitDemo" class="com.lrj.struts.submitAction"><result name="save">/save.jsp</result><result name="print">/print.jsp</result></action></package>

【第3步】实现Action类

public class submitAction{public String add() throws Exception {return "save";}public String delete() throws Exception {return "print";}}



0 0
原创粉丝点击