1、OGNL概述

  • 什么是OGNL?
    Struts2 框架(三)
  • 为什么学习OGNL?访问OGNL 上下文(OGNL context)和ActionContext;等。
  • OGNL 在Java 环境下的入门(了解)
    Struts2 框架(三)
    Struts2 框架(三)
    Struts2 框架(三)
    Struts2 框架(三)
  • OGNL 在Struts2 环境下的入门
    Struts2 框架(三)
    Struts2 框架(三)

2、值栈的概述

  • 什么是值栈
    Struts2 框架(三)
    注意:存入值栈中的数据不仅可以从jsp 页面上获取,action 和配置文件中均可以通过OGNL 表达式获得!
  • 值栈的内部结构
    Struts2 框架(三)
    Struts2 框架(三)
  • 值栈与ActionContext 的关系
    Struts2 框架(三)
  • 获得值栈
    Struts2 框架(三)
  • 操作值栈–>向值栈中存入数据
    Struts2 框架(三)
    Struts2 框架(三)
    Struts2 框架(三)
    Struts2 框架(三)
  • 获取值栈数据,就是在页面中使用OGNL 表达式即可。获取root 的数据:不需要加#
    Struts2 框架(三)
    Struts2 框架(三)
    获取context 中的数据(不常用)
    Struts2 框架(三)
    Struts2 框架(三)
  • EL为何访问值栈数据,因为struts2 的框架底层对request.getAttribute(String name) 方法进行了加强,如下:
    Struts2 框架(三)

3、OGNL中的特殊字符

  • #号,两个用途:一是获取context 的数据;二是使用# 号构建map 集合。
    Struts2 框架(三)
    Struts2 框架(三)
  • %号,强制解析OGNL
    Struts2 框架(三)
  • $号,用途:在配置文件中使用OGNL
    Struts2 框架(三)

4、综合案例:优化查询

将查询到的数据存入值栈中
Struts2 框架(三)
在页面中使用OGNL 表达式获取
Struts2 框架(三)
Struts2 框架(三)
注意:如果定义var,则需要加# 号。

结束!!!

相关文章:

  • 2021-10-30
  • 2021-06-02
  • 2021-08-02
猜你喜欢
  • 2021-07-10
  • 2022-12-23
  • 2021-11-20
  • 2022-01-15
  • 2021-06-07
  • 2021-07-14
相关资源
相似解决方案