struts2 OGNL表达式

来源:互联网 发布:plsql写sql时中文乱码 编辑:程序博客网 时间:2024/06/06 10:45
开发方法:(迭代式开发)
先做原型,在原型基础之上逐渐添加功能。添加一个功能,调试一点。


OGNL object graph navigation language  对象图导航语言 用来访问和设置Java对象的属性
访问属性 object.object.name
OGNL表达式指的是value=“”里面的内容


值栈中存放的是action所有成员变量、fieldErrors、actionErrors、Exception
Stack Context中存放的是 parameter request application pageContext
值栈中存放的是 对象 -- 值


访问值栈action的普通属性 <s:property value=""> 
值栈中对象的普通属性 value="user.xx" value="cat.friend.name"
值栈中对象的普通方法 value="password.length()"  value="cat.eat()"
值栈中action的普通方法 value="method()"


访问静态方法或属性 @类名@方法名或属性名   //struts.xml 添加常量 name="struts.ongl.allowStaticMethodAccess=true"


普通类的构造方法 value="new 包.类.构造方法"


访问list value="listname"
某个属性的集合 listname.{age}  
访问某个元素 listname[index]
某个元素的属性值 listname[index].属性


set集合不能取某个指定元素。因为set集合无序。


访问map中某个元素 mapname.keyname
Map中的所有key    mapname.keys
map中所有value    mapname.values
容器的大小  mapname.size() 




投影(过滤)  user.{?#this.age==1} 返回age=1的user 返回的是一个集合。  
this:每个当前对象。
?# 过滤条件。
user.{^#this.age>1}.{age}  age值大于1的集合里面的第一个元素的age值
user.{?#this.age>1}.{age}  age值大于1的集合里面的最后一个元素的age值


[]来访问元素 [0] 栈顶的第一个元素。


private User user;
user.xxx 只有传值才会构造。想要初始化可以new,也可以通过传值进行构造,但一定要有空参构造器。

0 0
原创粉丝点击