zoukankan      html  css  js  c++  java
  • 【转-整理】Struts2从后台传递数据到前台的主要方法和流程

    两种主要方式:
    一 和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 获得被传递的数据对象。

  • 相关阅读:
    OC和Swift中的UITabBar和UINaviGationBar的适配 [UITabbar在IPad中的适配]
    <iOS开发>之App上架流程(2017)
    iOS--LaunchImage启动页设置及问题解决
    去掉ambiguous expansion of macro警告
    iosapp开发者账号信息管理
    开发一个 app 有多难?
    Android SDK下载安装及配置教程
    抽象类和借口的区别
    array,vertor,arraylist,hashable,hashmap等几个易混淆概念的区别
    判断Set里的元素是否重复、==、equals、hashCode方法研究-代码演示
  • 原文地址:https://www.cnblogs.com/Nouno/p/5752063.html
Copyright © 2011-2022 走看看