OGNL表达式语言
一 常量
<o:p></o:p>
Char
‘a’
String
‘hello’ 或 “hello”
单个字符 /”a/”
Boolean
true | false
Int
123
注意:string可以用单引号也可以用双引号。但是单个字母 如’a’与”a”是不同的,前者是char, 后者是string。
<ww:property value=”\”a\””> 或<ww:property value’”a”’>
二 操作符号
+
-
*
/
mod
1+1 ‘hello’+’world’
<o:p></o:p>
++ --
foo++
== !=
<o:p></o:p>
in not in
foo in aList
= 赋值
foo=1
三 方法调用
class Muppet{
int fun();
}
调用:fun()-10
四 访问静态方法和变量
@some.pkg.SomeClass@CONSTANTS
@some.pkg.SomeClass@someFun()
五 context
ActionContext().getContext().getSession().get(“kkk”)
#session.kkk
ActionContext().getContext().get(“person”)
#person
# 符号相当于ActionContext.
ActionContext 中的主要对象: parameters, attr, request, session, application
六 集合操作
list & array访问
list.get(0) array[0]
list[0] array[0]
list.get(0).getName()
list[0].name
list.size() array.length
list.size array.length
list.isEmpty()
list.isEmpty
List list = new ArrayList()
list.ad(“foo”); list.add(“bar”);
{“foo”, “bar”}
{1,2,3}
Map
map.get(“foo”)
map[‘foo’] 或 map.foo
map.get(1)
map[1]
Map map = new HashMap()
map.put(“k1”, “v1”); map.put(“k2”,”v2”);
#{“k1”:”v1”, “k2”:”v2”}
七 筛选 与 投影
筛选 collection.{? expr }: #this 代表当前循环到的object
投影 collection.{ expr }
<o:p></o:p>
children.{name}
(投影)得到 Collection<String> names, 只有孩子名字的list
children.{?#this.age>2}
(筛选)得到 collection<Person> age>2的记录
children.{?#this.age<=2}.{name}
先筛选再投影
children.{name+’->’+mother.name}
(筛选)得到元素为 str->str 的集合
分享到:
相关推荐
### OGNL表达式的理解和应用 #### 一、OGNL简介与基本概念 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架中的默认表达式语言,同时也被广泛...
OGNL (Object-Graph Navigation Language) 是一种强大的表达式语言,用于获取和设置 Java 对象的属性。它最初是由 John Rose 和 Luke Blanshard 开发,并被广泛应用于多种框架中,尤其是在 Spring Expression ...
1. **基础语法**:OGNL表达式的格式通常为`object.property`或`object[index]`,用于访问对象的属性或数组/集合的元素。例如,`user.name`将获取名为`user`的对象的`name`属性。 2. **动态属性**:OGNL支持动态属性...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于在视图层和模型层之间进行数据绑定和表达式计算。本文将深入探讨如何在Struts2中有效地使用OGNL表达式。 首先,OGNL是Struts2的...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在本资源“OGNL表达式2讲”中,我们将深入探讨OGNL的使用,特别是针对各种常用的标签和实际应用案例。这个压缩...
Struts2 OGNL表达式是Java开发中一个重要的知识点,尤其在Web应用程序设计中扮演着核心角色。OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,它被Struts2框架广泛用于视图层与模型层之间的数据...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它被广泛应用于Spring框架和其他许多Java应用中,用于数据绑定和表达式评估。本篇将详细介绍OGNL的使用方法及其...
### Struts2中的OGNL表达式相关简介 #### OGNL概述 OGNL(Object-Graph Navigation Language,对象图导航语言)是Struts 2框架的默认表达式语言,它极大地增强了Struts 2的数据访问能力和代码简洁性。OGNL不仅能够...
OGNL,全称为Object-Graph Navigation Language,是一种强大的表达式语言,主要被用于获取和设置Java对象的属性。它在Java开发中广泛应用于Spring框架、Struts2等,提供了简洁而灵活的方式来访问和操作对象的属性。...
这个方法是OGNL最基础的用法,可以直接解析并执行OGNL表达式。 2. `Ognl.setValue(expression, context, root, value)`:与`getValue`相反,这个方法用于设置`root`对象中由`expression`指定的属性的值为`value`。...
4. **ASTNode类**:ognl表达式解析后的抽象基类,每个子类对应一种ognl表达式类型,如`ASTProperty`表示属性访问,`ASTMethod`表示方法调用。 5. **TypeConverter接口**:定义了将对象转换为其他类型的方法,ognl...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种表达式语言,用于访问和操作对象的属性。OGNL上下文(OGNL Context)和Action上下文是Struts2中两个重要的概念,它们对于理解和使用OGNL表达式至关重要...
其中 OGNL 是 Struts 2 的默认表达式语言,提供了许多实用的功能,例如支持对象方法调用、类静态的方法调用和值访问、赋值操作和表达式串联等。 OGNL 表达式语言中使用了多种符号,包括 #、% 和 $ 符号。# 符号用于...
OGNL(Object-Graph Navigation Language)是Struts2框架中重要的表达式语言,它用于在应用程序中进行数据绑定和表达式求值。这篇文档将详细解释OGNL API及其在Struts2框架中的应用。 首先,OGNL是一个强大的、动态...
OGNL,全称为对象图导航语言,是一种强大的表达式语言,广泛应用于Java世界,特别是在Struts2框架中作为默认的表示层表达式语言。它允许开发者以简洁的方式访问和操作对象的属性,包括动态方法调用和复杂的表达式。...
ognl(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它被广泛应用于各种Java应用框架,如Struts2,它允许开发者通过简洁的语法来操作和控制应用程序的数据流。在这个...
- **ASTNode**: 表示抽象语法树的节点,是OGNL表达式的结构基础。 - **Evaluator**: 根据AST执行表达式,获取或设置对象的值。 - **Context**: 实现了值映射,管理表达式执行时的环境。 - **TypeConverter**: 负责...
其中,OGNL 是 Struts 2 的默认表达式语言,提供了强大的对象方法调用、类静态方法调用和值访问功能。 OGNL 表达式语言使用 #、% 和 $ 符号来实现不同功能。# 符号用于访问非根对象属性、过滤和投影集合、构造 Map ...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种表达式语言,用于在模型、视图和控制器之间进行数据绑定和表达式处理。本文将深入探讨Struts2中的OGNL及其在实际应用中的作用。 首先,我们需要理解...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在Java开发中,它广泛应用于MVC框架如Struts2,用来动态地访问和操作对象的属性。"ognl.rar_OGNL API_og_ognl"这...