Struts中<s:debug/>标签中ValueStack与ContextStack的区别

来源:互联网 发布:淘宝没有购物车营销 编辑:程序博客网 时间:2024/06/18 02:41

在Struts2中,我们用<s:debug/>标签就能看到有关调试个详细信息,如图所示:
这里写图片描述
在用户发送HTTP请求给Struts2框架后,Struts2框架会创建ActionContext、ValueStack和相应的action对象:
而该action对象会放入ValueStack对象中,ValueStack对象则会放入ActionContext对象中。在JSP页面访问context的数据时,都需要用“#”,如:

 <s:property value="#attr"/>

但ValueStack是其根对象则不需要,因此,在访问Action对象的属性时,不需要使用“#”。

<s:property value="username"/>

简而言之:
ValueStack很简单,里面放的都是Action的属性你可以直接用property标签加参数名访问Action参数。而Stack Context里面比较乱,常用的有map型的request/session/attr/application,用OGNL访问前面要加上 “#”例如 #session.

1 0
原创粉丝点击