1.了解OGNL技术作用 ,独立于struts, Object Gtaphic Navigation Language对象导航语言
表达式语言(EL)
开源项目
ognl两大属性:
root: root中的对象,可以直接使用该对象的 属性名 访问其 属性
LoginAction user(id,name) ----user.id
context: ---map<key,v>
context中的对象,访问其属性
#key.属性名
1>访问对象的属性 obj.attrName
2>访问对象的方法 obj.methodName() ---
3>访问对象的 数组属性 中任意 下标值
obj.addAtrr[index] --user.addAtrr[1]
4>访问对象的 静态属性,方法
@类名@staticMethod()
@类名@staticAttr
5>对集合进行 过滤/投影/筛选 操作---对集合的遍历操作
CollectionObj.{?#this.id>100} ?--满足条件的所有对象(List)
CollectionObj.{^#this.id>100} ^--满足条件的第一个对象(Obj)
CollectionObj.{$#this.id>100} $--满足条件的最后一个对象(Obj)
<s:properties value="user.id"/> 没有empity
ongl.Ongl
setValue()
getValue(expression,context,Obejct-root)
2.ValueStack与OGNL区别,联系
ValueStack list root(栈 )
context (Map) #Session/request
OGNL