《研磨struts2》第七章 值栈和OGNL 之 7.3 使用OGNL访问复杂对象
通过ognl访问域对象,这件事情其实在好早以前,我们就已经做过了,只是那个时候不知道罢了,还是来示例一下。
(1)先来准备一个域对象,很简单,只有两个属性,代码示例如下:
?
图7.4? 新增页面
点击提交按钮过后,会跳转到结果页面,如下图所示:
?

图7.5? 新增后的结果页面
此时后台输出如下所示:
?
"userMap['umtest'].name"/>??(4)去运行测试看看,结果页面和后台应该都能正确地获取到值了。
(5)还可以访问Map的方法,比如:
(6)也可以直接在OGNL中构建Map,比如:
通过前面的讲述,你可以发现,OGNL可以访问不同的对象、属性和方法,那么可不可以把这些复杂的对象结构组合起来,让OGNL去访问呢?
假如在Session中,有一个List作为Session的属性,对应的key值是“users”,List里面放的全是UserModel类型的对象,现在要访问其中的第3个元素的userId属性,应该怎样用OGNL去访问呢?
?????? 回答这个问题需要层层分解,一步一步来:
这样,就得到了最终的OGNL,可以去测试一下,看看好用不。
?????? OGNL本身有很多的知识,这里只是介绍了OGNL中最常用的知识,更多的知识可以去http://www.ognl.org查看,那里有很详细的文档。
?
私塾在线网站原创《研磨struts2》系列
转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4070.html】
欢迎访问http://sishuok.com获取更多内容