首页 > 代码库 > struts2 值栈的理解
struts2 值栈的理解
之前工作中当遇到JSP在struts2取值的时候,对于# % 什么的使用一直处于不太明白的状态(虽然之前学习struts2的时候有学到过)。
今天再次遇到,整理一下。
struts2上下文如上图所示。其中值栈里的内容我们经常用到的主要就是当前action的属性值。可以用s:debug标签看到。
对于在JSP里取值栈里的值:<s:property
value
=
"artist.bio"
/>
值栈里的值是可以“升级”的,使用的是set标签,其中可以用scope指明要升级到的范围:<
s:set
name
=
"artistName"
value
=
"artist.name"
scope
=
"session"
/>
这时候的取值:<
s:property
value
=
"#session[‘artistName‘]"
/>
可以看到,在非值栈(context)取值会加上#,这个是ognl语法。
特别要提到struts2的iterator标签:<s:iterator value="http://www.mamicode.com/deptVO" var="dept">
var定义的变量,不是在值栈里的,我猜测是在attr里面的(不确定,求大神指点。。。)。所以它的取值也需要加上#:<s:property value="http://www.mamicode.com/#dept.manager.gender"/>
struts2 值栈的理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。