struts2学习笔记(七)——OGNL

来源:互联网 发布:微信群淘宝客软件 编辑:程序博客网 时间:2024/05/21 07:27

       ognl的功能在很大一部分和EL表达式冲突,我的策略是先使用EL表达式,如果不支持就使用ONGL表达式,ONGL主要对集合的支持更多一些

创建List

         语法为: {e1,e2,e3}.

<s:select label="label"name="name"  list="{'name1','name2','name3'}"value="%{'name2'}" />

        上面的代码生成了一个HTML Select对象,可选的内容为: name1,name2,name3,默认值为:name2。

        对于 array和list,可使用下标访问,如:

              {"name1","name2"}[1]

 

创建Map

        语法为:#{key1:value1,key2:value2}.

<s:select label="label"name="name" list="#{'foo':'foovalue','bar':'barvalue'}" />

        上面的代码生成了一个HTML Select对象,foo名字表示的内容为:foovalue,bar名字表示的内容为:barvalue。

        对于map 使用key 来访问, 如  map['foo']

 

判断一个对象是否在List内存在

<s:if test="'foo' in{'foo','bar'}">  muhahaha</s:if><s:else>  boo</s:else> <s:if test="'foo' not in{'foo','bar'}">  muhahaha</s:if><s:else>  boo</s:else> 


选择:取得一个List的一部分

?  –  所有满足选择逻辑的对象

^ -   第一个满足选择逻辑的对象

$ -   最后一个满足选择逻辑的对象

例如:

person.relatives.{? #this.gender == 'male'}

       上述代码取得这个人(person)所有的男性(this.gender==male)的亲戚(relatives)

投影:集合中属性的集合

        collection.{XXX}   其中xxx 是每个元素的公共属性

上下文环境的访问:  #

     #request.user

静态变量的访问

    @class@field/method,如
                @OrcaConstant.@COMMON_SPLIT   @OraConstant@get()

方法调用

    groups.containUser(#requestUser)


原创粉丝点击