struts2中一个表单中提交多个请求(动态调用方法)
生活随笔
收集整理的這篇文章主要介紹了
struts2中一个表单中提交多个请求(动态调用方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在很多Web應用中,為了完成不同的工作,一個HTML form標簽中可能有兩個或多個submit按鈕,Struts2中提供了另外一種方法,使得無需要配置可以在同一個action類中執行不同的方法(默認執行的是execute方法)
使用這種方式也需要通過請求參來來指定要執行的動作。請求參數名的格式為
主頁面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" /><!--save和print都是submitaction中的方法名--><s:submit name="print" value="打印" align="left" method="print" /></s:form> </body> </html>submitAction代碼如下:
package action;import javax.servlet.http.*; import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2.interceptor.*;public class MoreSubmitAction extends ActionSupport implementsServletRequestAware {private String msg;private javax.servlet.http.HttpServletRequest request;// 獲得HttpServletRequest對象public void setServletRequest(HttpServletRequest request) {this.request = request;}// 處理save submit按鈕的動作public String save() throws Exception {request.setAttribute("result", "成功保存[" + msg + "]");return "save";}// 處理print submit按鈕的動作public String print() throws Exception {request.setAttribute("result", "成功打印[" + msg + "]");return "print";}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;} }
struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts><package name="demo" extends="struts-default"><action name="submit" class="action.MoreSubmitAction"><result name="save"> /result.jsp </result><result name="print">/result.jsp</result></action></package> </struts>result.jsp:
<%@ page language="java" contentType="text/html; charset=GBK"pageEncoding="GBK"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>提交結果</title> </head> <body> <h1>${result }</h1> </body> </html>
總結
以上是生活随笔為你收集整理的struts2中一个表单中提交多个请求(动态调用方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个jsp页面中多个提交按钮提交不同的页
- 下一篇: Action访问Servlet API的