struts--ognl表达式

本文详细介绍了Struts2框架中OGNL表达式的使用方法,包括访问Action及对象的各种属性、方法,以及如何操作集合和映射等数据结构。
<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><!--  调试标签-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值