struts--ognl表达式

来源:互联网 发布:寻侠天书突破数据 编辑:程序博客网 时间:2024/05/17 09:38
<ol>
        <li>访问值栈中的action的普通属性:username=<s:property value="username"/></li>
        <li>访问值栈中对象的普通属性(get set方法)<s:property value="user.age"/></li>
        <li>访问值栈中对象的普通属性(get set方法)<s:property value="cat.friend.name"/></li>
        
        <li>访问值栈中对象的普通方法:<s:property value="password.length()"/></li>
        <li>访问值栈中对象的普通方法:<s:property value="cat.miaomiao()"/></li>

        <li>访问值栈中action的普通方法:<s:property value="m()"/></li>

   

       <!--   需要在配置文件中设置常量-->

       <!--打开静态方法调用的限制-->
       <constant name="struts.ognl.allowStaticMethodAccess" value="true"/>

        <hr/>
        <li>访问静态方法:<s:property value="@model.S@s()"/></li>
        <li>访问静态属性:<s:property value="@model.S@STR"/></li>
        <li>访问Math静态访问:<s:property value="@@max(2,3)"/></li>
        <hr/>
        <li>访问普通类的构造方法:<s:property value="new model.User(8)"/></li>

        <hr/>


        <li>访问list:<s:property value="users"/></li>
        <li>访问list中某个元素:<s:property value="users[1]"/></li>
        <li>访问list元素某个属性集合:<s:property value="users.{age}"/></li>
        <li>访问list元素某个属性集合的特定值:<s:property value="users.{age}[0]"/></li>
        <li>访问set:<s:property value="dogs"/></li>
        <li>访问set中某个元素:<s:property value="dogs[1]"/></li>
        <li>访问map:<s:property value="dogMap"/></li>
        <li>访问map中某个元素:<s:property value="dogMap.dog101"/>|<s:property value="dogMap.['dog101']"/>|<s:property value="dogMap.[\"dog101\"]"/></li>
        <li>访问map中所有key:<s:property value="dogMap.keys"/></li>
        <li>访问map中所有value:<s:property value="dogMap.values"/></li>
        <li>访问容器大小:<s:property value="dogMap.size()"/></li>
        
        <hr/>
        <li>投影(过滤):<s:property value="users.{?#this.age==1}.{age}"/></li><!--users.{?#this.age==1}返回的是集合类型  -->
        <li>投影(过滤):<s:property value="users.{^#this.age>1}.{age}"/></li><!--^表示开头的元素  -->
        <li>投影(过滤):<s:property value="users.{$#this.age>1}.{age}"/></li><!--$表示结尾的元素  -->
        <li>投影(过滤):<s:property value="users.{$#this.age>1}.{age}==null"/></li><!-- 返回boolean类型 -->
        <!-- 用{}返回集合类型   []表示第几个元素 -->
        <li>[] : <s:property value="[1]"/></li><!-- 访问的是值栈中的第几个对象 -->   value="[1].username"  从上往下的action中找
    </ol>
    <s:debug></s:debug><!--  调试标签-->
原创粉丝点击