Object Graphics Navigation Language(对象图导航语言)
OGNL是一种表达式语言技术,封装在ognl.jar开发包中.
可以很方便的对对象的属性进行获取和设置.
1)什么是EL,有什么用
属于表达式语言,可以访pageContext,request,session,application存储范围的数据.可以简化JSP程序.
2)OGNL表达式,有什么用
属于表达式语言,需要ognl.jar提供支持.可以完成以下操作
a.可以访问对象属性(获取和设置)
基本类型属性:"id","name"
数组类型属性:"love[0]","love[1]"
List类型属性:"city[0]","city[1]"
Map类型属性:"books.key","books['key']"
b.可以访问对象的方法
"city.size()","name.toUpperCase()"
c.可以访问静态常量和方法
"@java.lang.Math@PI"
d.可以访问集合中的数据,进行集合过滤等操作
"persons.{?#this.age>20}" : 返回persons集合中,满足age>20的所有元素.
?指的是返回所有满足条件的元素
^指的是返回第一满足条件的元素
$指的是最后一个满足条件的元素
e.支持Java中的运算符和表达式
"\"name\"+name","id+10"
f.定义一个List和Map类型的常量
List常量:"{1,2,3}"
Map常量:"#{'age':20,'name':\"tom\"}"
3)OGNL标准结构
OGNL有3个重要组成部分,一个OGNL引擎,一个是root对象,另一个是context对象.
访问context区域需要使用"#key"格式.
没有"#",例如"name",意思是访问root对象的name属性
分享到:
相关推荐
3. **OGNL(Object-Graph Navigation Language)表达式**:Struts2使用OGNL作为默认的表达式语言,它允许在Action和视图之间传递数据,如取值、赋值、方法调用等。OGNL的强大在于其灵活性,可以方便地处理复杂的数据...
本文将详细介绍Struts2.0标签库中 `$`, `#`, `%` 的使用方法及其区别。 #### 二、Struts2.0 标签概述 ##### 1. 通用标签 - **Property** - 用于展示数据栈中的数据。 - 支持默认值设置。 - 可以控制HTML转义。...
数据标签在Struts2中扮演着数据传输和处理的角色。 2. **控制标签**:控制标签用于控制程序的执行流程,比如执行条件判断和循环控制,它们类似于传统编程语言中的控制流语句。 3. **UI标签**:这类标签负责生成Web...
OGNL表达式的结构相对简单,主要组成部分包括: - **属性**: 通过`.`符号来访问对象的属性,例如`headline.text`。 - **方法调用**: 可以直接调用对象的方法,如`hashCode()`。 - **数组索引**: 使用`[]`来访问数组...
### Xwork——Struts2核心 #### Xwork与Struts2的关系 Xwork作为Struts2的核心组件之一,它的设计理念和技术实现对整个Struts2框架起着决定性的作用。Struts2是一个流行的Java Web开发框架,它采用了MVC(Model-...
在表达式中使用算术运算符时要注意以下几点: 1,运算符两边的运算数字必须是数字 2,使用+运算符时,如果一边是数字,一边是字符串,就会自动将数字转换为字符串再连接,如:${3 + "5"},结果是:35 使用内建的int函数可...