1、OGNL概述
- 什么是OGNL?
- 为什么学习OGNL?访问OGNL 上下文(OGNL context)和ActionContext;等。
- OGNL 在Java 环境下的入门(了解)
- OGNL 在Struts2 环境下的入门
2、值栈的概述
- 什么是值栈
注意:存入值栈中的数据不仅可以从jsp 页面上获取,action 和配置文件中均可以通过OGNL 表达式获得! - 值栈的内部结构
- 值栈与ActionContext 的关系
- 获得值栈
- 操作值栈–>向值栈中存入数据
- 获取值栈数据,就是在页面中使用OGNL 表达式即可。获取root 的数据:不需要加#
获取context 中的数据(不常用) - EL为何访问值栈数据,因为struts2 的框架底层对request.getAttribute(String name) 方法进行了加强,如下:
3、OGNL中的特殊字符
- #号,两个用途:一是获取context 的数据;二是使用# 号构建map 集合。
- %号,强制解析OGNL
- $号,用途:在配置文件中使用OGNL
4、综合案例:优化查询
将查询到的数据存入值栈中
在页面中使用OGNL 表达式获取
注意:如果定义var,则需要加# 号。
结束!!!