第一种: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属性中不能写0;result标签中的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类中必须要有save和print方法。
【第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";
}
}