OGNL
name //访问action的name普通属性
user.name //调用了user的getName
user.run() //调用user的run()方法
如果要调用静态方法的话必须
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
@com.jsun.User@StaticValue //@可以访问静态属性
@com.jsun.User@staticRun() //访问静态方法
@@max(2,3) //双@特指访问math类的静态方法
new com.jsun.User(8) //调用构造函数
访问集合
访问list集合 和 访问Set集合 一样
users[0].age //action里有 List<User> users; 或者 Set<User> users;
访问Map
user[ "my_key'" ] 或者 user.my_key //得到对应key的value
users.keys //返回Map users的所有key
users.values //返回所有的value
users.size() //容器的大小
投影 ,过滤
users.{?#this.age==1} 将符合条件的 子集合 返回
users.{^#this.age>1} 符合条件子集合 开头的那一个 也是集合的形式
users.{$#this.age>1} 结尾的那一个
users.{age} 将集合users的属性age拿出来组成集合
#开头是访问ActionContext
chain 服务器端action forward是有可能ActionContext中压入多个action