发帖次数较少,大牛轻拍。。
------------------------------------------
由于最近在使用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什么的封装对象的属性值)。
分享到:
相关推荐
我们知道,Struts2完成参数传递处理工作的基础是OGNL和ValueStack。而在这个 过程中,我也把Struts2所要做的工作大致归纳为两个方面: 1. 对OGNL操作进行封装,完成OGNL表达式所表示的值到Java对象的值传递机制 2. ...
Struts2返回JSON对象. 通过Struts2框架返回json对象,更好传递数据
3.4 向对象传递数据 51 3.4.1 对象支持的JavaBean属性 52 3.4.2 ModelDriven动作 54 3.4.3 域对象用作数据转移的潜在危险 55 3.5 案例研究:文件上传 56 3.5.1 通过struts-default包获得内建的支持 56 3.5.2 ...
Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在元素中使用user.username来获取用户的名字,这是通过...
ActionForm属性中存在对象数组如何处理
2、 JSP将请求发送到主控制器(并对请求参数做了第一次封装处理) 3、 在将信息传递到副控制器前ActionFrom 对请求参数做了第二次封装处理 4、 主控制做出判断通过Struts-confing.xml配置文件去问符合要求访问的副控制...
google搜到的。我看大神的文章发布时间是2014年5月。亲测好用。 某度搜技术类的真真真心不行。
应用struts2 jquery json简单小例子。可编译,可执行,可看效果。注释很详细。包也很齐全。 1,表单提交。怎么来回传递值的(包括字符串,对象,集合),解析json。 2,ajax提交,操作字符串,对象,数组。
要说明的是, ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行校验,只有校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面...
通过基于标准的技术, “填空式”的软件开发方法,Struts可以减轻在创建新项目时那些令人抱怨的极费时间的工作。 1.介绍 2.深入Struts架构 3.构建一个简单应用 4.配置Struts组件 5.用ActionForm传递数据 6.连线...
使用JQuery传递数据到struts action ,并返回JSON对象数据,在JQuery回调函数解析数据的,Ajax异步处理的小测试
书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...
struts2_demo是一个非常适合struts2初学者的入门实例。里面包括了10个小故事,每个故事都针对一个经典的知识点:第一个故事,讲述如何在Struts2.0里开发你的Hello world第二个故事,模拟登陆,主要是看formbeean对象...
在JSP页面中通过链接向服务器传递一个对象,并在控制台打印对象信息
它通过ActionForm和Action类来实现数据的传递和处理,同时利用配置文件struts-config.xml来管理页面跳转和Action之间的映射关系。Hibernate3.0作为持久层框架,负责与数据库进行交互。它通过ORM(对象关系映射)技术...
2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale放到session中的特性,完成采用编程的方式切换语言设置,设置...