在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,如下面的代码所示:
请求参数名的格式为
action!method.action
【第1步】实现主页面(more_submit.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>My JSP 'hello.jsp' starting page</title> </head> <body> <s:form action="submit.action" > <s:textfield name="msg" label="输入内容"/> <s:submit name="save" value="保存" align="left" method="save"/> <s:submit name="print" value="打印" align="left" method="print" /> </s:form> </body> </html>
在more_submit.jsp中有两个submit:保存和打印。其中分别通过method属性指定了要调用的方法:save和print。因此,在Action类中必须要有save和print方法。
【第2步】实现Action类(MoreSubmitAction)
【第3步】配置Struts2 Action,struts.xml如下:
【第4步】编写结果页(result.jsp)
在result.jsp中将在save和print方法中写到request属性中的执行结果信息取出来,并输出到客户端。
启动Tomcat后,在IE中执行如下的URL来测试程序:
http://localhost:8080/moresubmit/more_submit.jsp
大家也可以直接使用如下的URL来调用save和print方法:
调用save方法:http://localhost:8080/moresubmit/submit!save.action 调用print方法:http://localhost:8080/moresubmit/submit!print.action