解决方案 »
- 【求问】微博个人人际关系统计分析系统的设计与实现
- 用Myeclipse创建一个jsp文件,自动初始化这两行是什么意思,怎么没用到?还有jsp可以直接用浏览器打开吗?
- 关于 struts2 的一些简单的配置问题,请各位指点!!!!!!
- displaytag css无法显示
- TOMCAT+JDK+WIN2000环境下运行的JSP,一模一样的程序,原来可以运行,可我用备份的考到原来目录时再运行就出错了
- 上传图片错误,不是所有机器都这样
- 无奈了!用jquery的get或者post提交都有中文乱码,网上的解决方案几乎都试了个遍,还是没出来啊!求助!
- 怎样使用javascript做的动态菜单不被主页面框架所掩盖
- 【急等】在Jbuilder7中如何把tomcat的换成较高的版本比如tomcat4.1.8或tomcat4.1.24(急等)
- 关于JSP连接SQL SERVER的问题-无法建立连接(100分!!)
- 又是ext的问题 急…… 在线等
- 关于如何全部输出
上面代码数据是通过getBooks()方法获取的。数据存在ActionContext上下文中。并没有存入Session和Request。
Struts2的Action中,如果普通属性提供了对应的set和get方法的话,默认将内容存在ActionCOntext中,在页面都可以获取到。
你可以在页面增加<s:debug></s:debug>,然后点击可以查看ActionContext和其他web对象中的所有内容。
如果你不明白我帮你解释一下是怎么回事:
首先action被struts2的过滤器拦截以后,产生action的环境(OGNL Context), 接着产生action的代理,还会把action压入Ognl Context的根对象ValueStack的栈顶! 那么我们在jsp页面上可以通过OGNL访问这个valuestack以及OGNL Context中的对象以及属性.! 而struts2修改了OGNL的属性访问机制, 当你在页面上用<s:property value="attr">时,不再是访问根对象, 而是从ValueStack栈顶开始逐一扫描对象的属性,以找到的第一个为准.!
所以你页面上<s:iterator value="books" status="index">这个books就正是action的books属性!
我还可以告诉LZ一点的就是, 其实这个ValueStack已经在Struts2产生环境的时候被存到request作用域去了.!
struts2不需要存入Session和Request就能在页面拿到值,只需要将数据放入action中提供get set方法,然后再、页面就能通过<s:iterator 拿值了,这么理解可以么
你自己怎么理解得了就怎么理解.! 呵呵 东西是死人 人是活的喔