OGNL

it2022-05-05  68

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

相关资源:数据结构—成绩单生成器

最新回复(0)