`
xushaoxun
  • 浏览: 53597 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

OGNL表达式

 
阅读更多
 

OGNL表达式语言

 <o:p></o:p>

    常量

 <o:p></o:p>

Char

‘a’

String

‘hello’ “hello”

单个字符 /”a/”

Boolean

true | false

Int

123

 <o:p></o:p>

注意:string可以用单引号也可以用双引号。但是单个字母 ’a’”a”是不同的,前者是char, 后者是string

       <ww:property  value=”\”a\””>  <ww:property  value’”a”’>

 <o:p></o:p>

    操作符号

+

-

*

/

mod

1+1    ‘hello’+’world’

 <o:p></o:p>

++  --

foo++

==   !=

 <o:p></o:p>

in    not in

foo in aList

=  赋值

foo=1

 <o:p></o:p>

    方法调用

class Muppet{

       int fun();

}

调用:fun()-10

 <o:p></o:p>

    访问静态方法和变量

@some.pkg.SomeClass@CONSTANTS

@some.pkg.SomeClass@someFun()

 <o:p></o:p>

    context

ActionContext().getContext().getSession().get(“kkk”)

#session.kkk

ActionContext().getContext().get(“person”)

#person

# 符号相当于ActionContext.

ActionContext 中的主要对象: parameters, attr, request, session, application

 <o:p></o:p>

    集合操作

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}

 <o:p></o:p>

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”}

 <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

    筛选 投影

筛选 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  的集合

 <o:p></o:p>

NOTE : #的三种用途

1.       引用 ActionContext 中的object       #person 

2.       动态创建map                        #{1:’a’, 2:’b’}

3.       对集合进行筛选(#this)               #this

 <o:p></o:p>

分享到:
评论

相关推荐

    ognl表达式 ognl表达式

    ### OGNL表达式的理解和应用 #### 一、OGNL简介与基本概念 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架中的默认表达式语言,同时也被广泛...

    JS:ognl表达式

    ### JS:ognl表达式详解 #### 一、OGNL表达式概述 OGNL (Object-Graph Navigation Language) 是一种强大的表达式语言,用于获取和设置 Java 对象的属性。它最初是由 John Rose 和 Luke Blanshard 开发,并被广泛...

    Struts2 使用OGNL表达式

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

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

    因此,开发者应使用Struts2的安全配置选项,如禁用不安全的OGNL表达式,或者使用`@SkipValidation`注解来限制某些Action方法的OGNL表达式执行。 总结来说,Struts2中的OGNL表达式是连接模型和视图的关键工具,它...

    Struts2深入学习----OGNL表达式原理

    这篇深入学习的文章主要探讨了OGNL表达式的原理和使用。 首先,我们来理解一下OGNL是什么。OGNL是一种强大的表达式语言,允许开发者通过简单的字符串表达式来访问和修改对象图。在Struts2中,OGNL用于在Action和...

    struts2 中 OGNL表达式的使用

    struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用

    ognl表达式java使用案例详解(测试通过)

    Struts 2默认的表达式语言是OGNL,原因是它相对其它表达式语言具有下面几大优势: 1、 支持对象方法调用,如xxx.doSomeSpecial(); 2、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@...

    ognl表达式

    1. **表达式语法**:OGNL表达式通常由对象引用、属性访问、方法调用和运算符组成。例如,`user.name`表示访问用户对象的name属性,而`list[0].title`则表示访问列表的第一个元素的title属性。 2. **上下文(Context...

    Struts2的标签库及OGNL表达式语言

    本篇文章将详细探讨Struts2中的OGNL表达式语言以及标签库。 **OGNL(对象图导航语言)** OGNL是一种强大的表达式语言,它允许开发者通过简洁的语法来访问和操作对象的属性。在Struts2框架中,OGNL扮演着至关重要的...

    ognl表达式案例

    在本案例中,我们将深入探讨OGNL表达式的用法及其在Struts2中的应用。 首先,OGNL是一种灵活的表达式语言,允许开发者访问和操作对象图。它的核心特性包括属性访问、方法调用、集合操作、类型转换等。例如,`user....

    struts2 ognl表达式

    Struts2 OGNL表达式是Java Web开发中一个重要的概念,它是一种强大的对象图形导航语言(Object-Graph Navigation Language)。在Struts2框架中,OGNL被广泛用于视图层,作为数据绑定的主要手段,使得开发者能够方便...

    OGNL表达式2讲

    在本资源“OGNL表达式2讲”中,我们将深入探讨OGNL的使用,特别是针对各种常用的标签和实际应用案例。这个压缩包包含一个名为“OGNL”的文件,可能是一个文档或代码示例,用于辅助理解讲解内容。 1. **OGNL基础** ...

    OGNL表达式中的#、%和$.txt

    “$”符号在Struts2中主要用作OGNL表达式的起始标记,在模板文件(如JSP页面)中,它用于指示Struts2框架应该解析为OGNL表达式。 1. **模板文件中的应用**: - 示例:`reg.ageRange = $ {min} 到 $ {max}` - 解释...

    OGNL表达式语言学习

    NULL 博文链接:https://huguifuture.iteye.com/blog/761843

    struts2 OGNL表达式

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

    struts2-OGNL表达式测试

    这个“struts2-OGNL表达式测试”可能是一个测试项目或代码示例,旨在演示如何在Struts2应用中使用OGNL表达式。 OGNL是Struts2的核心组件之一,它允许开发者通过简单的字符串表达式来获取或设置对象的属性。这使得视...

    ognl表达式的用法

    下面我们将深入探讨如何使用OGNL表达式及其在示例代码中的应用。 首先,让我们看看提供的示例代码片段。这段代码是一个基于JSP的Struts2应用,展示了如何使用OGNL表达式来访问不同范围内的属性(request、session、...

    struts2 OGNL表达式使用

    struts2 OGNL表达式使用 OGNL(Object-Graph Navigation Language)是对象图导航语言,允许开发者在Struts2应用程序中访问和操作对象及其属性。下面是OGNL表达式的使用方法: 访问基本属性 1. 访问值栈中action的...

    struts2_OGNL表达式ActionContext及valuesStack

    本文将深入探讨Struts2中的OGNL表达式,ActionContext以及valuesStack。 首先,OGNL表达式是Struts2中不可或缺的一部分,它允许开发者以一种声明式的方式访问和修改对象的属性。比如,`myBean.getMyProperty()`这样...

Global site tag (gtag.js) - Google Analytics