OGNL表达式操作集合对象

采用OGNL表达式创建List/Map集合对象
 
如果需要一个集合元素的时候(例如 List 对象或者 Map 对象),可以使用 OGNL 中同集合相关的表达式。
使用如下代码直接生成一个 List 对象:
 <s:set name="list" value="{'zhangming','xiaoi','liming'}" />
<s:iterator value="#list" id="n">
<s:property value="n"/><br>
</s:iterator>
生成一个 Map 对象:
<s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />
<s:iterator value="#foobar" >
<s:property value="key"/>=<s:property value="value"/><br>
</s:iterator>
Set 标签用于将某个值放入指定范围
scope :指定变量被放置的范围,该属性可以接受 application session request page action 。如果没有设置 该属性,则默认放置在 OGNL Context 中。
value 赋给变量的值 . 如果没有设置该属性 , 则将 ValueStack 栈顶的值赋给变量。
 
采用OGNL表达式判断对象是否存在于集合中
 
对于集合类型, OGNL 表达式可以使用 in not in 两个元素符号。其中, in 表达式用来判断某个元素是否在指定的 集合对象中; not in 判断某个元素是否不在指定的集合对象中,如下所示。
in 表达式:
<s:if test="'foo' in {'foo','bar'}">
  
</s:if>
<s:else>
   不在
</s:else>
not in 表达式:
<s:if test="'foo' not in {'foo','bar'}">
   不在
</s:if>
<s:else>
  
</s:else>

猜你喜欢

转载自free0007.iteye.com/blog/1757260