`
jd20800991
  • 浏览: 40755 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

OGNL语法

 
阅读更多

基本的OGNL语法是十分简单的,当然OGNL支持丰富的表达式,一般情况下,不用担心OGNL的复杂性。例如有一个man对象,该对象有一个name属性,那么使用OGNL来获得该name属性可以使用如下表达式:

man.name

OGNL表达式的基础单元称为导航链,简称为链。一个最简单的链由如下部分组成。
>
属性名称:如上述示例中的name
>
方法调用:hashCode()返回当前对象的hash code
>
数组元素:listeners[0]返回当前对象的监听器列表中的第一个元素。

说明

OGNL表达式基于OGNL上下文中的当前对象,一个将使用上一个的处理结果,开发者可以任意扩展该链的长度,OGNL没有限制。

例如,一个OGNL表达式如下:

name.toCharArray()[0].numericValue.toString()


该表达式将按照如下步骤求值。

1)获得OGNL Context中初始对象或者是根对象(root对象)的name对象。

2)调用toCharArray()方法,返回一个String类型对象。

3)获得该String对象的第一个字符。

4)获得该字符的numericValue属性(该字符为一个Character对象,该对象有一个getNumericValue()方法,该方法返回一个Integer类型值)。

5)将获得的Integer对象转换为一个String类型值(使用toString()方法)。

分享到:
评论

相关推荐

    struts标签和ognl语法

    OGNL 语法允许开发者在 JSP 页面上直接操作 Java 对象的属性。在上述例子中,`{?price>1000}` 是一个 OGNL 过滤表达式,它返回 `price` 大于 1000 的元素。此外,OGNL 还支持链式访问(如 `obj.property1.property2`...

    OGNL语法 小资料

    根据OpenSymphony的OGNL官方文档,整理了下。简洁易懂

    OGNL表达式的使用及文档

    1. **表达式语法**:OGNL表达式通常由对象名、点号和属性名组成,例如`user.name`,表示获取`user`对象的`name`属性。也可以通过索引访问集合元素,如`list[0]`。 2. **上下文(Context)**:在OGNL中,上下文包含...

    ognl源代码以及api文档

    1. **表达式语法**:ognl表达式由对象路径和操作组成,如`object.property`或`array[index]`,可以进行属性访问、方法调用、算术运算和逻辑判断等。 2. **变量上下文**:ognl在执行时会使用一个变量上下文,其中...

    ognl源码

    阅读OGNL源码可以帮助我们理解其内部工作原理,特别是对于解析器和求值器的设计,以及如何处理各种OGNL语法和操作。这将有助于我们在使用OGNL时更好地调试和优化代码。 总结,OGNL作为强大的表达式语言,其源码揭示...

    ognl-2.6.11.jar

    OGNL语法** OGNL表达式通常包含对象路径、方法调用、索引访问、属性访问等。例如: - `user.name`:访问user对象的name属性。 - `(list[0]).name`:访问list集合的第一个元素的name属性。 - `myMethod()`:调用当前...

    JS:ognl表达式

    #### 二、OGNL语法基础 OGNL 表达式的语法非常直观且易于学习。下面是一些基本概念: - **属性访问**:`object.property`,用于获取对象的属性值。 - **方法调用**:`object.method()`,用于调用对象的方法。 - **...

    OGNL网上资料整理

    1.2 OGNL语法 OGNL的语法简洁而强大,包括但不限于: - 属性访问:如 `user.name`,访问对象user的name属性。 - 方法调用:如 `list.size()`,获取list对象的size方法结果。 - 运算符支持:加减乘除、比较、逻辑运算...

    Velocity语法以及整合struts2总结

    【Velocity语法以及整合struts2总结】 Velocity是一个开源的Java模板引擎,它是Apache软件基金会的Jakarta项目的一部分。Velocity将HTML代码与业务逻辑分离,使得开发者可以专注于内容和设计,而不用关心数据如何...

    ognl-2.6.11-javadoc.rar

    此压缩包“ognl-2.6.11-javadoc.rar”提供了OGNL 2.6.11版本的Java文档,是学习和理解OGNL语法与功能的重要参考资料。 首先,让我们深入了解OGNL的特性: 1. **表达式语法**:OGNL的表达式语法简洁而强大,支持点...

    自己整理的OGNL资料

    2. **OGNL语法**: - **对象访问**:`object.property`,例如,`person.name`将获取`person`对象的`name`属性。 - **方法调用**:`object.method()`,例如,`list.size()`将返回列表的长度。 - **索引访问**:`...

    ognl表达式 ognl表达式

    OGNL支持丰富的语法特性,能够方便地访问复杂的对象图。 #### 二、OGNL的基本用法 在Struts2框架中,OGNL表达式被广泛应用于视图层,比如在JSP页面中用来获取数据。OGNL表达式的语法简洁明了,例如: - **直接...

    ognl guide

    ### OGNL语法 1. **属性访问**:OGNL通过`.`符号来访问对象的属性,如`person.name`表示访问`person`对象的`name`属性。 2. **索引访问**:对于集合和数组,可以用方括号`[]`来访问元素,如`list[0]`获取`list`的第...

    ognl struts2

    三、OGNL语法特点 1. 属性访问:`object.property`,例如`user.name`,用于访问对象的属性。 2. 方法调用:`object.method()`,如`list.size()`,调用对象的方法。 3. 数组和集合访问:`array[index]`,`collection...

    Struts2 ognl中的#、%和$符号用法说明

    在OGNL表达式中,`#`、`%`和``$`符号扮演着不同的角色,它们是OGNL语法的重要组成部分。下面将详细介绍这三个符号的用法。 1. `#`(哈希符号) `#`在OGNL中代表“上下文引用”或“值栈引用”。在Struts2中,请求...

    OGNL Language Guide 中文版

    #### 三、OGNL语法 - **基本概念**: - **导航链 (Chain)**: OGNL 表达式的最基本组成部分。链通常包括以下元素: - **常量**: 如数字或字符串。 - **属性引用**: 通过点符号访问对象属性,例如 `headline.text`。...

    s20505_valueStack_OGNL

    2. **OGNL语法**:OGNL表达式通常以`.`操作符为核心,例如`user.name`表示获取名为`user`的对象的`name`属性。也可以使用`[]`操作符进行索引访问,如`list[0]`来获取列表的第一个元素。 3. **OGNL在Struts2中的作用*...

    OGNL中文参考手册.pdf

    #### 四、OGNL语法基础 - **基本单位**:OGNL表达式的最基本单位被称为导航链(Chain),通常包含属性名称、方法调用和数组索引等元素。 - **导航链示例**:`name.toCharArray()[0].numericValue.toString()`,这个...

    OGNL - 功能强大的表达式语言

    是学习OGNL语法和特性的权威来源。 - Stack Overflow和GitHub上的相关问题和讨论:这两个平台上有许多实际问题和解决方案,可以帮助解决在使用OGNL时遇到的具体问题。 总之,OGNL作为一种强大的表达式语言,为Java...

    Struts2中的OGNL

    2. OGNL语法: - 属性访问:`object.property` 或 `object['property']`,例如 `person.name` 或 `person['age']`。 - 方法调用:`object.method()`,如 `list.add('item')`。 - 数组和集合访问:`array[index]` ...

Global site tag (gtag.js) - Google Analytics