第一种: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属性中不能写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";
}
}
本文介绍三种在Struts2框架中控制form表单提交的不同方法:使用JavaScript改变action属性、利用通配符匹配不同action以及直接在submit标签中指定方法名。
950

被折叠的 条评论
为什么被折叠?



