struts2的ognl表达式语言

1,ognl,即是object  graph navigation language

2. 目的是增强数据的访问功能,增加了valuestack 的功能

3.如果需要访问的属性属于根对象,那么可以直接访问这个属性;否则,必须使用一个对象名作为前缀修饰改属性,如:#person.name

4.struts 2 也可以直接访问属性,它提供了一个属性访问器 property accessor,它自动收索stack context上面的属性,直至有属性与它对应为止

时间: 2024-10-12 17:40:00

struts2的ognl表达式语言的相关文章

Struts2之OGNL表达式语言

1.OGNL是Object-Graph Navigation Language的缩写,是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.其中OGNL用得最多的地方就是和Struts2的标签绑定,也可以在配置文件中通过${}使用OGNL表达式. 2.OGNL表达式中有几个常用的符号,下面介绍这三种符号的使用: (1).OGNL中$号的使用:第一种,可以在国际化资源文件中引用OGNL表达式.第二种,可以在st

Struts2标签库汇总和OGNL表达式语言

Struts2标签分类 UI标签:主要用于生成HTML元素的标签 非UI标签:主要用于数据访问.逻辑控制的标签 Ajax标签:用于支持Ajax的标签 表单标签(属于UI标签):用于生成HTML页面的form标签及普通表单元素的标签 非表单标签(属于UI标签):用于生产页面上的树.Tab页等标签 流程控制标签(属于非UI标签):主要包含用于实现分支.循环等流程控制的标签 数据访问标签(属于非UI标签):主要包含用于操作值栈和完成国际化功能的标签. OGNL表达式语言 (Object-Graph N

Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法

1.上一篇文章,我介绍了OGNL表达式语言,本来想在那篇文章上加上一个使用OGNL访问静态方法和静态属性的例子,但是昨天晚上我写代码时,报了一个警告,获取得到静态属性的值,却获取不到静态方法的返回值,所以今天特别的写篇文章来介绍一下. 2.这里我先附上这个例子,来了解如何使用OGNL表达式访问静态方法和属性. (1).其中访问静态方法或者静态属性的语法分别为:@类的路径@方法名,@类的路径@属性名,语法中类的路径,即包名+类名. (2).对于OGNL来说,java.lang.Math是其默认的类

Struts2中OGNL表达式的用法

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

OGNL表达式语言网上转来的

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

struts2 与 OGNL 表达式,jsp中 利用ognl 在valuestack中取值

在Struts2中,一个请求在最终到达Action的方法之前,Action对象本身会被压入ValueStack(实际上就是放到ValueStack的CompoundRoot中),所以Action对象是CompoundRoot中的一个元素.看下面的代码: public class UserAction { private String username; private Integer age; private boolean valid; //查看用户的详细信息 public String de

Struts2之OGNL表达式

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

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用于操作ValueStack中的数据.它负责两件事.第一是在接收HTTP请求时将请求中的字符串转换成Java中的类型,比如int.String等,并赋值给ValueStack上的JavaBean,第二是在页面渲染的时候,从ValueStack中获取属性,并将Java类型转换成字符串进行输出.整个过程如下图: (侵权可删) 在HTTP的请求参数中,可以包含OGNL表达式(这就是当初Struts2爆重大漏洞的原因了). user.name=xxx表示给user属性中的name属性进行赋值.