`
lyy3323
  • 浏览: 88089 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

由STRUTS2传递对象开始说起。。。

阅读更多

发帖次数较少,大牛轻拍。。

------------------------------------------

由于最近在使用struts2,一些应用难免犯浑。进入正题。

 

大概流程 action(A)----------->产生对象USRR------>A.jsp----------->B.action----------->B.jsp

 

由于B.jsp还需使用user对象。故产生了想在A.JSP传递这个对象到b.action.

 

主流做法:

1.放在session

2.传递某些参数,再去数据库查询一遍这个对象。

3.页面隐藏USER对象中的各个属性。

 

为什么不能在A.jsp页面直接传递对象到action呢?

 

-----------------

操刀入手:

----------

尝试1:

在A.jsp中写入

request.setAttribute("user");

在B.action中获取request.setAttribute("user");

结果一直是null.

百思不得其解,一直以为是struts2中封装request的某些原因,或者是拦截器在作祟。。

后来猛然发现:是因为不是同一个request的关系,和struts2无关。。。

因为这个request 是上次的请求对象,新的请求会重新产生request.

 

总结一下:

在JSP 页面上使用settAttribute是没有用的。

即:客户端发出请求,服务器端相应完毕后,request即失效了。

 

剩下的讲究基本是response.sendRedirect 或者是 forward:

 

如果用request,要注意request的范围仅限于同一个request对象;
如果使用了form的"action"或者response.sendRedirect("xxx.jsp")等调转,
则不再是同一个request对象,即用request.getAttribute("name")将取不到值。
换成request.getRequestDispatcher("xxx.jsp").forward(request,response);
才能共享request中数据.

 

如果采用getParameter的形式,抱歉,只能支持string.

 

 

jsp页面传递对象是不是就无解呢?(别告诉我JSON什么的封装对象的属性值)。

 

 

0
3
分享到:
评论

相关推荐

    AJAX和struts2传递JSON数组

    在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...

    struts2传递map list set到action

    struts2传递map list set到action

    Struts2中的参数传递

    1. **封装OGNL操作,实现值的传递**:Struts2通过对OGNL表达式的封装,实现从客户端传入的参数到Java对象之间的值传递。这一过程包括但不限于对各种复杂类型的处理,如数组、列表、映射等。 2. **类型转换**:为了...

    struts2jar包

    在Struts2中,OGNL用于传递Action与视图之间的数据,以及在拦截器中进行表达式计算。 4. **struts2-convention-plugin.jar**:这是Struts2的约定优于配置插件,它简化了Action类和结果配置,使得开发者可以按照一定...

    struts2 向结果传参数

    总的来说,Struts2提供了多种方式来向结果传递参数,这使得它在处理复杂的业务逻辑和页面跳转时具有高度的可定制性。根据项目的具体需求,选择合适的方法可以提高代码的可维护性和效率。在实践中,结合使用不同的...

    jQuery+json异步实现JSP和struts2之间的数据传递

    "jQuery+json异步实现JSP和struts2之间的数据传递"是一个典型的应用场景,它结合了前端JavaScript库jQuery与后端MVC框架Struts2,通过JSON这种轻量级的数据交换格式进行高效的数据交互。下面我们将详细探讨这一主题...

    使用Struts2的JSON插件来实现JSON数据传递

    至此,你已经掌握了如何使用Struts2的JSON插件进行数据传递的基本步骤。然而,Struts2 JSON插件还提供了许多高级特性,如自定义JSON序列化策略、处理复杂类型、支持国际化等。在实际开发中,你可以根据项目需求灵活...

    Struts2返回JSON对象的方法总结完整实例

    但是,在开发工作中,对功能的升级是基于既定架构是很常见的情况。本人碰到需要用开发基于Struts2的HTTP+JSON返回... Struts2返回JSON有两种方式:1.使用Servlet的输出流写入JSON字符串;2.使用Struts2对JSON的扩展。

    jquery的ajax传json对象数组到struts2的action

    本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    struts2 获取request

    struts2 获取request session对象

    struts2 json传输对象文档+jar包

    标题提到的"struts2 json传输对象文档"是指Struts2支持JSON格式的数据传输,使得Action类可以直接返回JSON对象,以便在客户端进行处理。这种功能极大地提高了Web应用的响应速度和用户体验,因为可以避免不必要的页面...

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    本入门篇主要涵盖了Struts2的基础配置、通配符使用、参数注入以及内置对象的获取,非常适合初学者进行学习。 1. **基础配置**:在Struts2中,基础配置主要通过`struts.xml`文件完成。这个文件定义了Action(动作)...

    struts2传递参数及ModelDriven的使用示例

    本示例主要讲解了如何在Struts2中传递参数以及使用ModelDriven模式。首先,我们来逐一解析涉及的知识点。 1. **Struts2框架**:Struts2是Apache软件基金会的一个开源项目,它是基于MVC设计模式的Web应用框架,旨在...

    struts1和struts2的区别

    此外,Struts2还支持ModelDriven模式,允许使用模型对象来代替Action。 #### 表达式语言 - **Struts1**: 支持JSTL标签库以及EL表达式。但是,相比于Struts2,其功能较为有限。 - **Struts2**: 支持JSTL的同时,...

    struts2 学习重点笔记

    - **自动填充**:Struts2 自动从 request 中获取数据并填充到 Action 对象中。 - **原理**:通过拦截器实现,拦截器会查找与 Action 类中的 setter 方法相匹配的请求参数,并调用这些方法填充数据。 **3.3 数据传递...

    struts2所有jar包程序文件

    Struts2是一个非常著名的Java Web开发框架,由Apache软件基金会维护。它基于MVC(Model-View-Controller)设计模式,极大地简化了构建基于Java EE的Web应用程序的过程。本资源包含"struts2所有jar包程序文件",是...

    struts2 API帮助文档

    - OGNL是Struts2中的表达式语言,用于在Action和视图之间传递数据。它可以访问对象的属性,执行方法,甚至进行复杂的运算和控制结构。 7. **插件(Plugins)** - Struts2支持多种插件来扩展功能,如Struts2-dojo-...

    struts2全部的jar包

    在Struts2中,业务逻辑通常由Action类实现,它处理用户的请求并返回一个Result。Result定义了如何展示Action的执行结果,例如转发到一个JSP页面或者生成JSON响应。 3. **配置方式**: Struts2允许开发者使用XML或...

    Struts2视频教程

    ### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...

    Struts2 demo2

    4. **OGNL (Object-Graph Navigation Language)**: OGNL是Struts2中的表达式语言,用于在Action对象和JSP页面之间传递数据。它允许动态访问和修改对象的属性,以及执行复杂的逻辑操作。 5. **Token机制**: - **...

Global site tag (gtag.js) - Google Analytics