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

第一种: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="添加" οnclick="toadd()"></s:submit>
    	<s:submit value="删除" οnclick="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="添加" οnclick="toadd()"></s:submit>
    		<s:submit value="删除" οnclick="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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值