`

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 获得被传递的数据对象。

分享到:
评论

相关推荐

    AJAX 想Struts2后台传送Json数据并向前台返回Json格式的数据

    本主题主要探讨如何在Struts2框架下利用AJAX传递和接收JSON(JavaScript Object Notation)数据,这是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 首先,让我们理解三种在Struts2中...

    uploadify+struts2+json前台动态向后台传数据

    本教程将详细讲解如何使用`uploadify`、`Struts2`和`JSON`技术实现前台动态向后台发送数据,以及展示后台返回参数来完成文件上传的功能。这三个组件在Web开发中各自扮演着重要的角色: 1. **Uploadify**:Uploadify...

    使用struts2框架来实现前台与后台的交互

    标题中的"使用Struts2框架来实现前台与后台的交互"指的是通过Struts2框架协调前端用户界面与后端业务逻辑进行数据交换。在传统的Web开发中,前端HTML页面通常通过HTTP请求与服务器上的后台Java代码进行通信。Struts2...

    struts2+jsp 环保公司门户网站 前台+后台

    标题提到的"struts2+jsp 环保公司门户网站 前台+后台"项目,意味着这个系统不仅包含了用户可见的前端界面,还涵盖了后台管理功能。前端通常负责展示信息、接收用户输入和交互,而后台则处理业务逻辑、数据管理以及与...

    struts2与前台交互时序

    7. **值栈(Value Stack)**:Struts2的值栈是一个数据容器,它可以存储Action对象以及任何其他需要传递到视图的数据。在JSP页面中,可以直接通过OGNL(Object-Graph Navigation Language)表达式访问值栈中的数据。 ...

    Jquery dataTable后台获取数据示例

    2. **排序**: DataTables 会将排序信息(列号和排序方向)通过请求参数传递到后台。我们需要解析这些参数,然后在查询语句中加入`ORDER BY`子句。在Ibatis中,可以通过动态SQL来实现。 3. **检索**: 虽然描述中提到...

    struts2培训笔记

    - **后台类中的数据直接在前台界面显示**:通过Struts2提供的标签库或者OGNL表达式可以方便地展示Action中的数据。 - **前台表单数据直接赋值到后台类属性**:Struts2的默认拦截器能够自动将HTTP请求参数映射到...

    JAVA的Struts2完整项目版(源码+数据库)

    7. **Action和Result**:Struts2的Action类是业务逻辑的载体,它处理请求,执行业务逻辑后返回一个Result,Result决定了如何响应用户请求,如跳转到某个JSP页面或返回JSON数据。 8. **配置文件**:Struts2的配置...

    读书供求信息网前台+后台(Struts1.2)

    【标题】"读书供求信息网前台+后台(Struts1.2)"所涉及的知识点主要集中在Struts1.2框架和MySQL数据库的使用上,同时,根据标签中的"css",我们也可以推测该项目还包含了前端CSS样式的设计。接下来,我们将详细讨论...

    struts2乱码处理

    针对Struts2中的中文乱码问题,上述三种方案提供了从前端到后端的全面解决方案。对于前端通过URL传递中文参数的情况,可以采用方案一或方案二;而对于整个应用层面的乱码问题,则推荐采用方案三进行全面处理。通过...

    struts2和JQuery

    结合Struts2和jQuery,开发者可以在后台利用Struts2处理业务逻辑,通过Ajax与前端进行通信,前台则利用jQuery进行高效的DOM操作和动画效果展示,提高用户体验。在实际项目中,这样的组合可以实现高效、动态且易于...

    struts2_JSONObjec的使用

    通过添加必要的jar包,编写相应的Action和前端代码,以及正确配置Struts,可以轻松地将Java对象转换为JSON并传递给客户端。这极大地提高了开发效率,使得Web应用更加动态和交互性。在实际项目中,还需要考虑错误处理...

    Struts2和Ajax数据交互示例详解

    ajax请求在项目中常常使用,今天就平时掌握的总结一下,关于使用ajax请求到Struts2中的action时,前台页面与后台action之间的数据传递交互问题。 这里我主要记录下自己所掌握的几种方式。可以根据自己平时项目的需求...

    struts2.0快速入门实战文档-2

    以上步骤展示了Struts2框架中数据从前端到后端,再从前端展示的基本流程,是理解和实践Struts2框架的重要基础。随着项目的深入,你还将学习到更复杂的特性,如表单验证、拦截器、结果类型等,这些都是构建强大Web...

    基于struts+hibernate的bbs

    ActionForm用于在Action和视图之间传递数据。 - **配置文件**:Struts通过struts-config.xml配置文件管理各个组件,定义Action的映射、表单验证规则等。 - **国际化与本地化**:Struts支持多语言,可轻松实现应用...

    ext前台接收action传过来的json数据示例_.docx

    这篇文档主要阐述了如何在EXT JS前台接收由Action(通常指Java Servlet、Spring MVC或Struts等后端控制器)传递的JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读易写且...

    struts图书管理系统

    前台主要供普通用户浏览图书、搜索和购买,后台则供管理员管理图书信息,如添加新书、修改库存、处理订单等。 综上所述,"Struts图书管理系统"是一个综合运用Struts、JDBC等技术实现的Web应用,提供了用户友好的...

    demo.zip_action

    通过Action类的setter方法,Struts 2能自动将HTTP请求参数的值绑定到Action的属性上,简化了从前台到后台的数据传递。此外,Struts 2还支持基于注解的参数绑定,如`@RequestParam`和`@FieldParam`,使代码更简洁。 ...

    struts+hibernate+spring网上书店1

    通过Struts的ActionForm,我们可以封装用户提交的数据,便于在控制器和模型之间传递。 接下来是Hibernate,它简化了数据库操作。Hibernate允许开发者使用Java对象来表示数据库中的表,通过ORM机制自动处理SQL语句,...

Global site tag (gtag.js) - Google Analytics