OGNL访问静态方法,静态属性,集合类等

新建一个Test类,里面含有静态方法和静态属性(由于篇幅问题。其他基本类的内容不贴出来了)

package hoKing.in.ognl;
public class Test {  
    public static String STR = "STATIC STRING";  
      
    public static String Test() {  
        return "static method";  
    }  
} 
<!--在我们访问静态方法的时候,需要使用@符号,跟上完整的类名,然后在跟@符号,加上具体的静态方法或者属性  
        在OGNL中使用@@符号可以直接使用Math类的方法,使用方法是@@+对应的Math方法 -->  
        <li>访问静态方法:<s:property value="@hoKing.in.ognl.Test@test()"/></li>  
        <li>访问静态属性:<s:property value="@hoKing.in.ognl.Test@STR"/></li>  
        <li>访问Math类的静态方法:<s:property value="@@max(2,3)" /></li>  
        <hr />  
        <li>访问普通类的构造方法:<s:property value="new hoKing.in.ognl.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]"/> | <s:property value="users[0].age"/></li>  
        <li>访问Set:<s:property value="dogs"/></li>  
        <li>访问Set中某个元素:<s:property value="dogs[1]"/></li>  
        <li>访问Map:<s:property value="dogMap"/></li>  
        <!-- 访问Map中key或者value的时候都是使用的复数 -->  
        <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()"/> | <s:property value="users.size"/> </li>
PS:
访问静态方法在struts2.1以后的版本里面需要设置一个属性,否则系统默认是不支持访问静态方法的(struts2.0版本默认是支持访问静态方法的).具体的方法是在struts.xml里面添加这么一句
 <constant name="struts.ognl.allowStaticMethodAccess" value="true" />



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值