兩種主要方式:
一 和Servlet API耦合的訪問方式
二 和Servlet API解耦的訪問方式
********************************************************************
一 和Servlet API耦合的訪問方式
一、 採用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"> 得到被傳遞的數據對象。
二、採用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"> 得到被傳遞的數據對象。
三、採用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解耦的訪問方式
一、 採用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 得到被傳遞的數據對象。
二、採用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 得到被傳遞的數據對象。
三、採用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 得到被傳遞的數據對象。apache