ognl详解
发布日期:2025-04-27 23:39:31
浏览次数:17
分类:精选文章
本文共 634 字,大约阅读时间需要 2 分钟。
OGNL(Object-Graph Navigation Language)入门与实践指南
一、OGNL基本概念
OGNL(Object-Graph Navigation Language,对象图导航语言)是一种强大的表达式语言,主要用于在Java应用中存取对象属性、调用方法、遍历对象图,并实现属性类型转换等功能。它的语法简洁,能够通过简单的表达式实现对复杂对象图的操作,广泛应用于Struts 2框架的标签库中。
二、OGNL使用要点
1. OGNL表达式的上下文
OGNL的表达式计算依赖于OGNL上下文,通常由ognl.OgnlContext类表示。上下文包含一个根对象,可以通过属性名直接访问其属性值,若属性位于根对象之外,则需加上“#”前缀。
2. Struts 2标签库
Struts 2的标签库主要使用OGNL表达式来访问ActionContext中的对象数据。例如:
默认情况下,ActionContext会被设置为OGNL上下文,值栈作为根对象放置到ActionContext中。
3. 值栈(ValueStack)功能
值栈是OGNL的核心,贯穿整个Action生命周期。它用于存储和查询对象,引用值栈中的对象无需“#”前缀。Struts 2会将当前Action实例放置在栈顶,因此引用Action属性时可以省略“#”。
4. 数据存取
通过put(key, value)方法存入ActionContext的数据需使用“#”前缀访问。
三、
发表评论
最新留言
表示我来过!
[***.240.166.169]2026年05月29日 05时01分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php.ini配置中有10处设置不当,会使网站存在安全问题
2023-02-28
PHP7 新特性
2023-02-28
PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
2023-02-28
php7.1.6 + redis
2023-02-28
php7中使用php_memcache扩展
2023-02-28
PHP7中十个需要避免的坑
2023-02-28
php7和PHP5对比的新特性和性能优化
2023-02-28
PHP7安装pdo_mysql扩展
2023-02-28
PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
2023-02-28
php7,从phpExcel升级到PhpSpreadsheet
2023-02-28
PHP8中match新语句的操作方法
2023-02-28
PHP:第一章——PHP中常量和预定义常量
2023-02-28
PHP:第一章——PHP中的位运算
2023-02-28
phpcms
2023-02-28
phpcms 2008 product.php pagesize参数代码注射漏洞
2023-02-28
phpcms V9 自定义添加 全局变量{DIY_PATH}方法
2023-02-28
Redis五种核心数据结构的基本使用与应用场景
2023-02-28
PHPCMS多文件上传和上传数量限制
2023-02-28
phpEnv的PHP集成环境
2023-02-28
PHPExcel一些基本设置总结
2023-02-28