OGNL

本文介绍了Struts2框架,其基于HttpServletRequest请求,处理请求时创建运行环境,将Action放入值栈。值栈充当容器,可在框架各处及页面标签访问业务对象。还说明了OGNL表达式由属性链构成,以及访问集合对象的多种方式,如列表元素、Map元素和集合长度的访问。
Struts2框架是基于HttpServletRequest请求的,框架在处理每个请求时,都会创建该请求的运行环境,并将请求对应的Action放入其中,Action对象被放在值栈对象上,User对象作为javaBean的一个属性被暴露出来,值栈本身放在运行环境中。
在处理请求的过程中,所有业务数据对象都保存在值栈中,值栈充当了一个容器,通过它,在框架的各个地方可以随时访问这些业务对象,在生成页面的过程中,页面标签也可以访问值栈。
 
为什么值栈是一个虚拟对象??
假如栈内存中放了多个对象,且存在相同的名称时,先找到的对象的属性就作为”虚拟“对象的属性。
 
 
struts2会实例化任何用于填充数据的对象。
 
List:
不需要初始化任何一个List,
如果没有类型说明,任意一个List中的元素都是String类型。
 
 
OGNL表达式是由属性链构成的。
 
 
 
访问集合对象:
iterator标签在迭代过程中会把迭代的每一个对象暂时压入值栈的栈顶,这样在该标签内部可以直接访问元素属性和方法,就可以用不带value的property标签输出数据。
对于集合对象的访问,还有以下几种情况:
1.访问列表或数组的某一个元素,可以用属性名【index】
userLIst【1】.name
2.访问Map的某一个元素,可以用属性名【key】
userMap【key】.name
3.通过size或length访问集合长度。
 
 
<set name="变量名"   value="值默认Object类型"  scope="作用域">
scope的值可以是:page、request、session、application、action(默认)
 
 
 

转载于:https://www.cnblogs.com/wzdnwyyu/p/11174339.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值