標籤:
兩種主要方式:
一 和Servlet API耦合的訪問方式
二 和Servlet API解耦的訪問方式
********************************************************************
一 和Servlet API耦合的訪問方式
1、 採用Request (HttpServletRequest)對象來傳遞資料
(1)在Action類檔案中
(A) 匯入ServletActionContext類:
import org.apache.struts2.ServletActionContext;
(B) 獲得request對象,具體的方法如下:
HttpServletRequest request = ServletActionContext.getRequest ();
(C)通過setAttribute()方法把需要傳遞的資料對象放入request對象中:
request.setAttribute("key",Object);
(2)JSP檔案中,有多種方法可以獲得被傳遞的資料對象,比如:
(A) request.getAttribute("key")獲得被傳遞的資料對象。
(B) <s:iterator value="#request.key"> 獲得被傳遞的資料對象。
2、採用application (ServletContext) 對象來傳遞資料
(1)在Action類檔案中
(A) 匯入ServletActionContext類:
import org.apache.struts2.ServletActionContext;
(B) 獲得application對象,具體的方法如下:
ServletContext application = ServletActionContext.getServletContext ();
(C)通過setAttribute()方法把需要傳遞的資料對象放入application對象中:
application.setAttribute("key",Object);
(2)JSP檔案中,有多種方法可以獲得被傳遞的資料對象,比如:
(A) application.getAttribute("key")獲得被傳遞的資料對象。
(B)<s:iterator value="#application.key"> 獲得被傳遞的資料對象。
3、採用session (HttpSession) 對象來傳遞資料
(1)在Action類檔案中
(A) 匯入ServletActionContext類:
import org.apache.struts2.ServletActionContext;
(B) 獲得session對象,具體的方法如下:
HttpSession session = ServletActionContext.getRequest ().getSession();
(C) 通過setAttribute()方法把需要傳遞的資料對象放入session對象中:
session.setAttribute("key",Object);
(2)JSP檔案中,有多種方法可以獲得被傳遞的資料對象,比如:
(A) session.getAttribute("key")獲得被傳遞的資料對象。
(B) <s:iterator value="#session.key"> 獲得被傳遞的資料對象。
*********************************************************************************
二和Servlet API解耦的訪問方式
1、 採用Request (HttpServletRequest對應的Map對象)對象來傳遞資料
(1)在Action類檔案中
(A) 匯入ActionContext類:
import com.opensymphony.xwork2.ActionContext;
(B) 獲得request對象,具體的方法如下:
ActionContext context= ActionContext.getContext();
Map request = (Map)context.get("request");
(C)通過put()方法把需要傳遞的資料對象放入request對象中:
request.put("key",Object);
(2)JSP檔案中,有多種方法可以獲得被傳遞的資料對象,比如:
(A) request.getAttribute("key")獲得被傳遞的資料對象。
(B) request.get("key")獲得被傳遞的資料對象。
(C) <s:iterator value="#request.key"> 獲得被傳遞的資料對象。
(D) requestScope.key 獲得被傳遞的資料對象。
2、採用application (ServletContext對應的Map對象) 對象來傳遞資料
(1)在Action類檔案中
(A) 匯入ActionContext類:
import com.opensymphony.xwork2.ActionContext;
(B) 獲得application對象,具體的方法如下:
ActionContext context= ActionContext.getContext();
Map application = (Map)context.getApplication();
(C)通過put()方法把需要傳遞的資料對象放入application對象中:
application.put("key",Object);
(2)JSP檔案中,有多種方法可以獲得被傳遞的資料對象,比如:
(A) application.getAttribute("key")獲得被傳遞的資料對象。
(B) application.get("key")獲得被傳遞的資料對象。
(C) <s:iterator value="#application.key"> 獲得被傳遞的資料對象。
(D) applicationScope.key 獲得被傳遞的資料對象。
3、採用session (HttpSession對應的Map對象) 對象來傳遞資料
(1)在Action類檔案中
(A) 匯入ActionContext類:
import com.opensymphony.xwork2.ActionContext;
(B) 獲得session對象,具體的方法如下:
ActionContext context= ActionContext.getContext();
Map session = (Map)context.getSession();
(C)通過put()方法把需要傳遞的資料對象放入session對象中:
session.put("key",Object);
(2)JSP檔案中,有多種方法可以獲得被傳遞的資料對象,比如:
(A) session.getAttribute("key")獲得被傳遞的資料對象。
(B) session.get("key")獲得被傳遞的資料對象。
(C) <s:iterator value="#session.key"> 獲得被傳遞的資料對象。
(D) sessionScope.key 獲得被傳遞的資料對象。
【轉-整理】Struts2從後台傳遞資料到前台的主要方法和流程