【毕设进行时】OGNL表达式

参考链接:http://commons.apache.org/proper/commons-ognl/

表达式

常量表达式

  • 字符串常量,用单引号或双引号引用。
  • 字符常量,用单引号引用。
  • 数值常量,除了Java中的【int】【long】【float】和【double】,还有以“b”或“B”作为后缀的【BigDecimal】型和以“h”或“H”作为后缀的【BigInteger】型。
  • 布尔值常量。
  • null

引用属性

  • Map中的属性即为key。
  • List和Array中的属性即为index。
  • 其他类型的属性即为具有get和set方法的属性。

如何索引

  • 对List和Array属性索引,与Java中一样。
  • 对JavaBeans属性索引,前提是这个JavaBeans对象有根据索引获得对象的方法。
public PropertyType[] getPropertyName();
public void setPropertyName(PropertyType[] anArray);
public PropertyType getPropertyName(int index);
public void setPropertyName(int index, PropertyType value); 
  • 对一般的对象属性索引,前提是这个对象有根据索引获得对象的方法,其索引值的类型不止为整型。
public PropertyType getPropertyName(IndexType index);
public void setPropertyName(IndexType index, PropertyType value);

调用方法

与Java中一致,仅有一点差别,当有两个或两个以上的方法同时符合匹配条件时,OGNL将会任意选择,特别是null型的请求参数可以匹配所有的非基本类型。

……未完待续

时间: 2024-10-12 12:29:49

【毕设进行时】OGNL表达式的相关文章

【毕设进行时】Struts2的输入校验

输入校验分为客户端校验和服务器校验.Struts2可以同时完成这两种校验. All input is evil.——<Writing Secure Code> 手动完成输入校验: 重写Action中的validate()方法(继承自ActionSupport类) 重写Action中的validateXxx()方法并在struts.xml中配置,validateXxx()方法先于validate()方法被调用 流程: 类型转换器负责对字符串的请求参数执行类型转换,并将这些值设置成Action的属

Struts2之OGNL表达式

OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.Struts2框架使用OGNL作为默认 的表达式语言. 相对于EL表达式,它提供了平时我们需要的一些功能,如: 支持对象方法调用,如xxx.sayHello(); 支持类静态方法调用和常量值访问,表达式的格式为@[类全名(包括包路径)]@[方法名|值名],例如:@[email protected]('foo%s','bar')或@[email protected]_NAME;

Struts2中OGNL表达式的用法

OGNL的全称是Object Graph Navigation Language(对象图导航语言),它是一种强大的表达式语言,能通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能. 一.为什么要使用OGNL 视图层的表达式语言通常是用来简化数据的访问操作,取代Java脚本代码,提供更清晰的视图层实现.比如,要获取user对象的age属性,利用OGNL表达式可以写成: <s:property value="user.age&

OGNL表达式语言

OGNL:Object Graphic Navigation Language(对象图导航图语言) 1.上下文------>ActionContext------>Map集合 OGNL有一个上下文概念,在Struts2中上下文的实现为ActionContext,它就是一个Map结构,它实现了java.utils.Map 接口. OGNL COntext: ValueStack(值栈,它是根对象) parameters request session application attr Actio

struts2值栈存取数据小结(使用ognl表达式)

前言:使用ognl和struts2标签库的时候要在 jsp页面 中 加入这么一行 <%@ taglib uri="/struts-tags" prefix="s" %> struts(统一格式): <action name="ognl" class="com.demo.test1.OnglAction" method="ognl1"> <result name="og

OGNL表达式语言网上转来的

1.概念:OGNL是ObjectGraphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言. 2.功能: (1)支持对象方法调用,如xxx.sayHello(): (2)支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@[email protected]('foo%s', 'bar')或@[email protected]_NAME: (3)操作集合对象

20160502-struts2入门--ognl表达式

一.OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言. 相对EL表达式,它提供了平时我们需要的一些功能,如: ①支持对象方法调用,如xxx.sayHello(): ②支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 |  值名],例如:@[email protected]('foo %s', 'bar')或@[email

深入分析JavaWeb 48 -- Struts2中OGNL表达式与ValueStack

一.OGNL表达式 1.OGNL表达式介绍 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. OGNL相对其它表达式语言具有下面几大优势: 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 | 值名],例如:@[email protected]('foo %s', '

Struts——OGNL表达式与Struts2结合

一.OGNL表达式 OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航而且还支持比EL表达式更加丰富的功能. 语法: public void func() throws OgnlException { // 1.准备Root User rootUser = new User("jiaxin",23); // 2.准备Context Map<String,User> context = new HashMa