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的值,都可以的...