当前位置: 代码迷 >> Java Web开发 >> 求教struts2中ValueStack值栈的有关问题
  详细解决方案

求教struts2中ValueStack值栈的有关问题

热度:247   发布时间:2016-04-16 21:49:07.0
求教struts2中ValueStack值栈的问题!
本帖最后由 dannysg 于 2014-10-05 02:30:40 编辑
struts2中通过一个action的method方法中在request中传参数到底是传到了哪里?
网上找了各种解释还是不怎么懂

下面是一点自己的理解 不知有没有错 求大神给指点指点 感激不尽
1.在struts2中 OGNL Context 就是 ActionContext吗?还是OGNL Context 是ValueStack?
能不能理解为ActionContext下面存在 request  session application parameters attr 和ValueStack

2.在ValueStack中存在有对象栈 和map栈 
而这个map栈中又有 request  session application 

3.jsp页面上设置<s:debug></s:debug>这个标签打开后是看到的是 ActionContext还是ValueStack?
我们通过#来得到map栈中的值 那值应该是传到了 ActionContex下面的ValueStack下面map栈
但我们可以通过ActionContext.getContext().getSession().put("csdn", "csdn");这个参数应该是放到到ActionContext下面
怎么也可以通过#来在获得呢?

下面一些查到的资料不知道是对是错



------解决思路----------------------
http://yunpan.cn/cg6quBWXfxnku  访问密码 925b   看关于struts2的部分,讲的很详细
------解决思路----------------------
1
OGNL Context 这个概念我也是第一次听说........
我的理解是OGNL能够访问ActionContext里的所有数据,肯定不是ValueStack

2
ActionContext下面存在 requestMap  sessionMap applicationMap parameters attr 和ValueStack
上述几个map对象不是你所认为的域对象
3
<s:debug></s:debug> 很久没用这个了,印象中是错误信息会放到ValueStack中,所以应该只能看到ValueStack吧


项目中,一般只使用jstl和el,很少使用struts标签了

看看源码或许能明白一点

------解决思路----------------------
ActionContext.getContext().getSession().put("csdn", "csdn");  这个是放在标准web对象session里面的啊....   #获得是可以request,sesson的值,都可以的...
  相关解决方案