博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OGNL
阅读量:5020 次
发布时间:2019-06-12

本文共 758 字,大约阅读时间需要 2 分钟。

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

你可能感兴趣的文章
字符串按照字典序排列
查看>>
IOS 开发调用打电话,发短信
查看>>
CI 框架中的日志处理 以及 404异常处理
查看>>
keepalived介绍
查看>>
css3 标签 background-size
查看>>
python itertools
查看>>
Linux内核调试技术——jprobe使用与实现
查看>>
样式、格式布局
查看>>
ubuntu设计文件权限
查看>>
Vue双向绑定原理详解
查看>>
Android基础总结(5)——数据存储,持久化技术
查看>>
关于DataSet事务处理以及SqlDataAdapter四种用法
查看>>
bootstrap
查看>>
http://lorempixel.com/ 可以快速产生假图
查看>>
工程经验总结之吹水"管理大境界"
查看>>
为什么JS动态生成的input标签在后台有时候没法获取到
查看>>
20189210 移动开发平台第六周作业
查看>>
java之hibernate之基于外键的双向一对一关联映射
查看>>
rxjs一句话描述一个操作符(1)
查看>>
第一次独立上手多线程高并发的项目的心路历程
查看>>