OGNL取值范围分两部分,root.Context两部分 可以放置任何对象作为ROOT,CONTEXT中必须是Map键值对 示例: 准备工作: public void fun1() throws Exception { // 准备ONGLContext // 准备Root User rootUser = new User("tom", 18); // 准备Context Map<String, User> context = new HashMap<String, U…
一.ActionContext的重要性 struts中的数据都存放在ActionContext里,所以这部分是Action中的核心. ActionContext又称广义值栈,既然有广义值栈就有侠义值栈. 1.广义值栈,指的是ActionContext对象,是Action运行的上下文,包含着request.session.application.attr.parameters.和侠义值栈(Value Stack)等.以后说值栈的时候默认指的就是广义值栈. 2.侠义值栈,ActionContext以…
ValueStack:struts2的一个存放数据的数据结构(核心) ValueStack大致能够理解为:由Map和对象栈组成 ValueStack作用范围:一个请求,用它来取代request的作用域. 当来了一个请求时,便创建出一个ValueStack,并进行一些初始化. 往Map中放:request=...,session=...,application=...,attr=...,parameters=....等等 往对象栈中放:action和还有一个默认对象 拦截器:ModelDriven…
今天来说说ognl表达式在struts2中的运用. --wh 一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任意属性,简单说就是对javabean进行操作(重要) 2.调用对象方法. 3.调用类的静态方法 4.索引数组元素 5.操作集合(重 要) 二.OGNL的功能实现 操作之前必须知道如何使用OGNL表达式,并且了解OGNL表达式的取值范围只能在其context和root中,格式为 Ognl.getVal…
前言 前面已经把struts2讲内容说了一半了,我写的很详细,希望对博友们有帮助. 一.OGNL表达式语言概述 1.1.OGNL表达式简介 百度上是这样说: OGNL是Object-Graph Navigation Language的缩写,它是一个单独的开源项目.Struts2框架使用OGNL作为默认的表达式语言. 它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的 结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性.…
一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任意属性,简单说就是对javabean进行操作(重要) 2.调用对象方法. 3.调用类的静态方法 4.索引数组元素 5.操作集合(重 要) 二.OGNL的功能实现 操作之前必须知道如何使用OGNL表达式,并且了解OGNL表达式的取值范围只能在其context和root中,格式为 Ognl.getValue(expression,context,root); //…
在jsp页面中获取action中的值: 1.写一个action类OgnlAction类: 需要注意的地方: 如果在aciton中直接使用ognl表达式,将值存储的值栈中,是不能通过跳转将值传到jsp页面中的.因为result标签的默认跳转方式为请求转发方式,所以这里我们将值存储到并行域中. import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com…
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性. -------百度百科 从语言角度来说:它是一个功能强大的表达式语言,用来获取和设置 java 对象的属性 ,它旨在提供一个更高抽象度语法来对 java 对象图进行导航.另外,jav…
技术分析之OGNL表达式概述(了解)        1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写        * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象        * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性        2. Struts2框架使用OGNL作为默认的表达式语言 …
1. OGNL表达达符号"#" 1.1 #用于访问OGNL上下文和Action上下文,#相当于ActionContext.getContext() 注意:当系统创建了Action实例后,被保存到Value Stack中,无需书写“#“符号即可访问Action的属性: 另外,struts提供了一些命名对象,这些对象与根对象无关它们只是存在于Stack Context中.访问这些对象需要“#“符号指明: 说明: parameters对象:用于访问HTTP请求参数.例如:#parameter…