Struts2之Ognl详解

一、学习案例:通过程序理解OGNL

 

二、案例分析:OGNL(对象图导航语言)是通过struts2的标签进行调用的。对于OGNL的学习,我们用程序在控制台输出的形式让大家进行了解。

在我们正式学习OGNL之前,我们要知道两个对象:根对象和上下文对象。比如一个双层饭盒,上面一层就是根对象,下面一层就是上下文对象。

根对象中的元素我们可以直接在el表达式和struts2标签中直接使用。

上下文对象中的元素我们在使用时要在元素前面加上#

在页面中以图形的形式查看OGNL就要使用struts2的标签<s:debug></s:debug>

 

a)新建Java Project应用程序,通过Build Path引用OGNL所需的jar包。

1、javassist-3.11.0.GA.jar

2、ognl-3.0.6.jar

 

b)新建测试类(TestOGNL.java

1、public class ognl.OgnlContext implements java.util.Map,通过这句我们可以发现OgnlContext是一个类,而且是Map类型的。所以它会以键值对的形式存放参数。

2、通过Map类型,我们还知道根对象不止可以存放一个对象。

 

c)创建两个对象:PersonDog。统一给予一个name属性。

 

d)为对象初始化值之后,都putOgnlContext。然后在设置根对象。

context.setRoot(...)

 

e)Ognl.parseExpression(...)就是解析表达式。其实就是你在struts2的标签中表达式。

 

f)Ognl.getValue(obj1, context, context.getRoot());对解析之后的对象经行取值。

 

g)这就是OGNL的实现。演示项目对常用的表达式经行了举例,大家可以研究下。

 

三、经验之谈:

a)OGNL可以说是struts2的一大利器,规则很简单,项目中也很常用,可以说处处都能用到。而调用方法不常用,但也会用,有些功能利用ONGL调用方法还是很容易解决的。所以大家多练练。

b)访问集合 – 投影、选择(? ^ $)在项目用的很少,不过一旦使用将会有意想不到的效果。在我的网站“爱尚合伙人”中的好友列表中的好友里的心情就使用了。效果还是很OK的。不用专门记忆,了解就行,用到时再查,understand?

 

 

四、参考项目:http://download.csdn.net/detail/u011638419/8280245

 

五、每日一乐:

小时候不知道JJ干什么用,现在知道了却没地方用 

 

最终解释权归大学生创业所有。转载请注明出处。@www.23hhr.com

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值