【轉-整理】Struts2從後臺傳遞數據到前臺的主要方法和流程

兩種主要方式:
一 和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

相關文章
相關標籤/搜索