`
younglibin
  • 浏览: 1211185 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OGNL表达式语言基础简介

    博客分类:
  • OGNL
 
阅读更多
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表达式的理解和应用 #### 一、OGNL简介与基本概念 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架中的默认表达式语言,同时也被广泛...

    JS:ognl表达式

    OGNL (Object-Graph Navigation Language) 是一种强大的表达式语言,用于获取和设置 Java 对象的属性。它最初是由 John Rose 和 Luke Blanshard 开发,并被广泛应用于多种框架中,尤其是在 Spring Expression ...

    Struts2 使用OGNL表达式

    1. **基础语法**:OGNL表达式的格式通常为`object.property`或`object[index]`,用于访问对象的属性或数组/集合的元素。例如,`user.name`将获取名为`user`的对象的`name`属性。 2. **动态属性**:OGNL支持动态属性...

    Struts2 如何使用OGNL表达式(三十八)

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于在视图层和模型层之间进行数据绑定和表达式计算。本文将深入探讨如何在Struts2中有效地使用OGNL表达式。 首先,OGNL是Struts2的...

    OGNL表达式2讲

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在本资源“OGNL表达式2讲”中,我们将深入探讨OGNL的使用,特别是针对各种常用的标签和实际应用案例。这个压缩...

    struts2 OGNL表达式

    Struts2 OGNL表达式是Java开发中一个重要的知识点,尤其在Web应用程序设计中扮演着核心角色。OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,它被Struts2框架广泛用于视图层与模型层之间的数据...

    OGNL表达式的使用及文档

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它被广泛应用于Spring框架和其他许多Java应用中,用于数据绑定和表达式评估。本篇将详细介绍OGNL的使用方法及其...

    struts2中的ongl表达式相关简介

    ### Struts2中的OGNL表达式相关简介 #### OGNL概述 OGNL(Object-Graph Navigation Language,对象图导航语言)是Struts 2框架的默认表达式语言,它极大地增强了Struts 2的数据访问能力和代码简洁性。OGNL不仅能够...

    OGNL语言中文资料

    OGNL,全称为Object-Graph Navigation Language,是一种强大的表达式语言,主要被用于获取和设置Java对象的属性。它在Java开发中广泛应用于Spring框架、Struts2等,提供了简洁而灵活的方式来访问和操作对象的属性。...

    OGNL静态方法定义

    这个方法是OGNL最基础的用法,可以直接解析并执行OGNL表达式。 2. `Ognl.setValue(expression, context, root, value)`:与`getValue`相反,这个方法用于设置`root`对象中由`expression`指定的属性的值为`value`。...

    ognl源代码以及api文档

    4. **ASTNode类**:ognl表达式解析后的抽象基类,每个子类对应一种ognl表达式类型,如`ASTProperty`表示属性访问,`ASTMethod`表示方法调用。 5. **TypeConverter接口**:定义了将对象转换为其他类型的方法,ognl...

    OGNL访问OGNL上下文和Action上下文Struts2rarfdsafsdfasdfas

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种表达式语言,用于访问和操作对象的属性。OGNL上下文(OGNL Context)和Action上下文是Struts2中两个重要的概念,它们对于理解和使用OGNL表达式至关重要...

    教案第五章struts2的标签库.pdf

    其中 OGNL 是 Struts 2 的默认表达式语言,提供了许多实用的功能,例如支持对象方法调用、类静态的方法调用和值访问、赋值操作和表达式串联等。 OGNL 表达式语言中使用了多种符号,包括 #、% 和 $ 符号。# 符号用于...

    ognl.rar_OGNL API_struts2 ognl api_struts2帮助文档

    OGNL(Object-Graph Navigation Language)是Struts2框架中重要的表达式语言,它用于在应用程序中进行数据绑定和表达式求值。这篇文档将详细解释OGNL API及其在Struts2框架中的应用。 首先,OGNL是一个强大的、动态...

    ognl源码

    OGNL,全称为对象图导航语言,是一种强大的表达式语言,广泛应用于Java世界,特别是在Struts2框架中作为默认的表示层表达式语言。它允许开发者以简洁的方式访问和操作对象的属性,包括动态方法调用和复杂的表达式。...

    ognl源码及API

    ognl(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它被广泛应用于各种Java应用框架,如Struts2,它允许开发者通过简洁的语法来操作和控制应用程序的数据流。在这个...

    ognl-2.6.11.jar源码

    - **ASTNode**: 表示抽象语法树的节点,是OGNL表达式的结构基础。 - **Evaluator**: 根据AST执行表达式,获取或设置对象的值。 - **Context**: 实现了值映射,管理表达式执行时的环境。 - **TypeConverter**: 负责...

    第五章struts2的标签库.pdf

    其中,OGNL 是 Struts 2 的默认表达式语言,提供了强大的对象方法调用、类静态方法调用和值访问功能。 OGNL 表达式语言使用 #、% 和 $ 符号来实现不同功能。# 符号用于访问非根对象属性、过滤和投影集合、构造 Map ...

    对 Struts2 OGNL 的分析与简介

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种表达式语言,用于在模型、视图和控制器之间进行数据绑定和表达式处理。本文将深入探讨Struts2中的OGNL及其在实际应用中的作用。 首先,我们需要理解...

    ognl.rar_OGNL API_og_ognl

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在Java开发中,它广泛应用于MVC框架如Struts2,用来动态地访问和操作对象的属性。"ognl.rar_OGNL API_og_ognl"这...

Global site tag (gtag.js) - Google Analytics