OGNL 教程 OGNL简单特性模拟 OGNL简单的实现 OGNL入门 OGNL原理一角 OGNL学习

OGNL的概念,这里就不多介绍了。

我这里想做的就是通过一个ognl的简单的例子,我自己写一个程序,模拟ognl的信息获取。

信息存取的话,道理是一样的,这里读者自己可以参照我的代码实现数据存入。

 

我这里只讲OGNL的简单的链式获取,不涉及复杂的表达式部分,OGNL的NB之处在于表达式。

下面我们引入正题。看我下面的例子。

我们这里用OGNL获取Bean的信息,包括ArrayList,HashMap,以及数据对象。

下面贴代码了。

 

UserBean.java

 

UserAddrBean.java

 

 

测试main函数

 

 

运行输出结果是

addr1
list1
dev

 

list2

 

addr1
value
dev

菜鸟们可能觉得OGNL好神奇噢,我也这么觉得,是挺有想法的一个东东。搞的跟模板工具的获取方式很像。的确在数据对象的解耦合方面做了一个进步。

下面我们模拟开发一个这样的东东。功能与之类似。代码如下:

 

 

MyContext.java

 

 

下面才是核心部分,bean表达式转换器噢。

这里的代码如果小菜鸟没有用过发射啥的东东,那就要多多研究研究了,这里用的东西个人觉得还是蛮有正对性的。

 

ValueEngine.java

 

 

下面我们要模拟上面刚才运行的那个main函数了噢,呵呵。

不过这次的main函数,用的对象获取的方法是我刚写的方法。

 

运行main函数。试试效果,看看是不是跟OGNL的感觉一样

 

 

输出是:

addr1
list1
20000
value

 

list2

 

addr1
value
keyboardsun

 

你看看,是不是和ognl的效果一样啊,是不是很神奇呢。我这里只是模拟,核心的意思跟ognl差不多。

供大家玩玩参考使用,别以为ognl有多神奇,我们要善于去把握其中的原理。当然,我这里演示的只是OGNL最简单的一角,它的强大之处可不在这里,所以大家别简单的认为ognl不过如此。其实ognl很强大,尤其是表达式部分。

Ognl的源码我没有细看,大概的简单数据获取原理就是这样的,你看看,我上面就10来行的代码,就可以实现这么好的功能了噢,菜鸟们多学习学习吧。

作者 keyboardsun

转载请表明出处噢。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值