Struts2从后台传递数据到前台的主要方法和流程

转载 2018年04月15日 12:41:24
两种主要方式:
一 和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 获得被传递的数据对象。

数据传递---前台传数据到后台action的三种方法

模型驱动: 1.让action实现ModelDriven接口 2.重写getModel()方法 代码如下(配置文件什么的就不写了): index.jsp: ··· &a...
  • qq_35254628
  • qq_35254628
  • 2018-03-14 23:15:58
  • 60

Struts2之前台表单传值到后台Action方法总结

在正式讲解之前,先交代一下项目版本,Struts2的版本是struts-2.3.30稳定版本,至于如何快速搭建以及正确的选择Struts2必要的Jar文件,以struts-2.3.30为例,首先建议大...
  • yu102655
  • yu102655
  • 2016-08-08 17:14:52
  • 7889

struts2浏览器前台向服务器后台传值的两种方式。

这里不是说post和get方法,而是指struts2前后台交互的、jsp页面传递数据,后台action接收数据的方式。–常用的方式有两种,一种用于简单少量的数据。一种用于相对大量的数据。还有一种方式我...
  • qq_34307506
  • qq_34307506
  • 2017-04-18 10:00:29
  • 1275

浅谈Struts2前台后台的数据传递

刚接触SSH,确实感觉到他的强大和便捷。在学习过程中遇到了一些困惑,解决后想要写写,在自己以后的编程中尽量避免,并帮助一些菜鸟朋友快速入门。     Struts2前台后台的数据传递问题,我要分两方...
  • a1165117473
  • a1165117473
  • 2011-11-12 11:19:35
  • 43314

在Struts2中jsp前台传值到后台的三种方法

struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp:   用户名:    密 码:                     ...
  • sun_wangdong
  • sun_wangdong
  • 2015-09-05 19:36:29
  • 2126

struts2传值到前台页面

不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值。所以,有两种方法1,获取的是action属性的...
  • y532798113
  • y532798113
  • 2017-03-28 15:21:58
  • 1312

struts2获取前台传递过来的数据的三种方式

struts2获取前台传递过来的数据可以通过属性驱动和模型驱动两种方式获得。 属性驱动 1、使用变量的方式 前台: form action="mylogin_login" method="...
  • qq_36748278
  • qq_36748278
  • 2017-09-17 11:52:17
  • 478

Struts2的后台与前台数据交互处理方式的简单总结

1. 传值到Struts2的action方法: userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。 可以不在访问的action中提供相应的属性,用request.g...
  • ziliang871118
  • ziliang871118
  • 2011-01-26 09:25:00
  • 5826

ASP.NET MVC中,后台向前台传递多个对象(表)的方法

用过asp.net mvc标签的同学们知道,这种标签很方便,不需要js进行赋值,而是直接由ASP.NET MVC标签进行绑定。其前提是,后台方法必须返回一个页面,即return view("~/con...
  • hutaoer06051
  • hutaoer06051
  • 2013-05-18 07:17:17
  • 1722

struts2-通过action从后台将json数据传到前台的方法(一)

本方法通过Struts2的拦截器自动将数据转换成json数据后传给页面。 需要导入的jar包:struts2-json-plugin-2.3.20.jar 前台jsp页面: id="dg" ...
  • a86431566
  • a86431566
  • 2016-01-28 19:43:05
  • 3466
收藏助手
不良信息举报
您举报文章:Struts2从后台传递数据到前台的主要方法和流程
举报原因:
原因补充:

(最多只允许输入30个字)