OGNL学习笔记



OGNL学习笔记

OGNL介绍:

1.OGNL(Object Graph Nvigation Language),对象图导航语言

2.OgnlContext(ognl上下文对象),存在唯一的叫根的的对象root,可以通过程序设定上下文当中哪个对象作为根对象

3.OGNL中,如果表达式没有使用#号,那么OGNL会从根对象中寻找该属性对应的get方法,如果寻找的不是根对象中的属性,那么则需要以#号开头,告诉OGNL,去寻找你所指定对象的属性

 

OGNL使用:

1.当使用OGNL调用静态方法的时候,需要按照如下的语法编写表达式:

 @package.classname@methodname(parmeter)

2.OGNL来说,数组和集合是一样来看待的,都是通过下标索引去访问的。构造集合的时候使用{. . .}形式

3.使用OGNL处理Map的语法格式如下所示:

#{key1:value1,key2:value2,key3:value3}有点像json

4.过滤(filtering)collection.{? expression}

5.过滤(filtering):获得第一个元素collection {^expression}

6.过滤(filtering):获得最后一个元素collection {$expression}

7.通常在使用过滤操作的时候,我们会使用到#this,该表达式用于代表当前正在迭代的集合中的对象(类似增强的for循环)

8.投影(projection)collection.{expression}

9.过滤与投影之间的差别:类比于数据库中表,过滤是取行操作(选择),投影是取列操作

10.Struts2.x中有一个称作值栈的概念(ValueStack)非常重要。

11.Struts2.x中根对象就是ValueStack.Struts2.x的任何流程中ValueStack中最顶层对象一定是Action对象

12.几个常用的命名对象

  parameters, #parameters.username

  request, #request.username

  session, #session.username

  application,#application.username

  attr,#attr.username

13.Struts2.x标签库属性值的%#的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值