兩種主要方式:
一 和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 獲得被傳遞的數據對象。