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的数据需使用“#”前缀访问。

三、

上一篇:Ogre 插件系统
下一篇:OGNL表达式struts2标签“%,#,$”

发表评论

最新留言

表示我来过!
[***.240.166.169]2026年05月29日 05时01分52秒