OGNL访问静态方法,静态属性,集合类等
2012-08-24 15:14
447 查看
新建一个Test类,里面含有静态方法和静态属性(由于篇幅问题。其他基本类的内容不贴出来了)
访问静态方法在struts2.1以后的版本里面需要设置一个属性,否则系统默认是不支持访问静态方法的(struts2.0版本默认是支持访问静态方法的).具体的方法是在struts.xml里面添加这么一句
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />
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" />
相关文章推荐
- (6)OGNL--1:访问值栈中的普通属性、对象属性、普通方法、静态方法、自写set、map、list
- ognl表达式访问普通属性和静态方法
- 道听途说Struts2之19:OGNL访问静态方法,集合类
- Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法
- JNI开发之访问java属性方法和静态属性方法
- struts2中OGNL中访问静态方法
- struts2中OGNL中访问静态方法
- freemarker 也能访问静态方法或者静态属性
- 将封装的数据库类,改写成静态属性和方法来访问
- struts2-ognl 访问静态方法
- Struts2 中 OGNL 如何更简单的访问静态变量和静态方法
- struts2中OGNL中访问静态方法
- Struts2中使用OGNL调用静态方法及静态属性
- Struts2学习——1400OGNL2访问方法与属性
- java(非)静态方法,(非)静态外部类访问静态属性总结
- OGNL调用静态属性和静态方法
- struts2中OGNL中访问静态变量和静态方法
- 静态属性和方法访问数据库类
- 类实例化对象可以访问静态(static)方法,但是不能访问静态属性。
- struts2 ognl访问静态方法一定要配置!!!否则不能访问