OGNL特殊符号的使用】的更多相关文章

---------------------siwuxie095 # 的使用 1.使用 # 获取 context 中的数据 「值栈分为 root 和 context 两部分」 2.如:向 Request 域放值,在页面中使用 OGNL 表达式获取值 (1)编写 Action @Override public String execute() throws Exception { HttpServletRequest request=ServletActionContext.getRequest()…
主要有哪些字符? #:获取Context的数据,构建map %: 强制解析OGNL,强制不解析OGNL $ : 在配置文件中(xml,属性文件(国际化))使用OGNL #的用法: <body> <h1>获取context数据</h1> <% request.setAttribute("name", "OGNL特殊字符测试"); %> <s:property value="#request.name&qu…
一.OGNL常用符号(接上一篇文章): 1.#号 1)<s:property value="#request.username"/> 作用于struts2的域对象,而不是普通域对象 2)<s:property value="#user.username"/>作用于JavaBean对象 3)<s:property value="#username"/>作用于普通字符串,如果value只是一个字符串的话,不是Jav…
1. 表达式语言OGNL OGNL简介 OGNL基本语法 常量 操作符 OGNL表达式 OGNL基础 OGNL上下文 OGNL值栈 OGNL的访问 2. 具体内容 2.1 OGNL简介 OGNL(Object-Graph Navigation Language)对象图导航语言的缩写,OGNL是一种表达式语言(Expression Language, EL).可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能. OGNL是一种对java对象的getter和sett…
  2. 表达式语言OGNL 2.1 OGNL简介 OGNL(Object-Graph Navigation Language)对象图导航语言的缩写,OGNL是一种表达式语言(Expression Language, EL).可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能. OGNL是一种对java对象的getter和setter属性的表示和绑定语言.通常,OGNL使用简单一致的表达式语法去存取对象的属性. 2.2 OGNL基本语法 2.2.1 常量 字符串…
1.在jsp页面中: <s:a action="departmentAction_delete.action?did="></s:a> 说明:   1.struts2的标签只能跟ognl表达式. (符号"#,%")   2.html标签只能跟el表达式.(符号"$")   3.在struts2的标签中:   1.s:property中的value属性   2.s:iterator中的value属性   3.s:select…
Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, sort) 数据标签 :(bean, param,date, debug, include, set, url, push) OGNL Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单…
Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, sort) 数据标签 :(bean, param,date, debug, include, set, url, push) OGNL Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单…
OGNL表达式struts2标签“%,#,$” 一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGNL有如下特点: .支持对象方法调用,形式如:objName.methodName(): .支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名 |  值名],例如: @java.lang.String@format('foo …
转自:https://blog.csdn.net/qq_24963197/article/details/51773224 一.OGNL中的#.%和$符号 1.#符号的三种用法 1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext. getContext():#session.msg表达式相当于ActionContext.getContext().getSessi…
1. OGNL表达达符号"#" 1.1 #用于访问OGNL上下文和Action上下文,#相当于ActionContext.getContext() 注意:当系统创建了Action实例后,被保存到Value Stack中,无需书写“#“符号即可访问Action的属性: 另外,struts提供了一些命名对象,这些对象与根对象无关它们只是存在于Stack Context中.访问这些对象需要“#“符号指明: 说明: parameters对象:用于访问HTTP请求参数.例如:#parameter…
1. # 符号的用法 * 获得contextMap中的数据 > <s:property value="#request.name"/> > <s:property value="#session.name"/> > <s:property value="#application.name"/> > <s:property value="#attr.name"/&…
STRUTS2标签操作Map <s:iterator value="sundayMap">           <td colspan="7"><div title="<s:property value='key' />"><s:property value="value"/></div></td></s:iterator> 取Se…
#.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里笔者简单介绍它们的相应用途. 1.#符号的用途一般有三种.   1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext. getContext():#session.msg表达式相当于ActionContext.getContext().getSession(). getA…
#  获取非根元素值  . 动态都建map集合 $  配置文件取值 %  提供一个ognl表达式运行环境 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE HTML PUBLIC &quo…
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigation Language):对象图形导航语言,是一种功能强大的表达式语言,通过简单的语法,就能够任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性的类型转换功能. 1.1.2.OGNL的基本知识 1.OGNL表达式的计算是围绕OGNL上下文进行的 OGNL上下文实际上就是一个M…
Ognl表达式基本原理和使用方法 1.Ognl表达式语言 1.1.概述 OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,他是一个开源项目.Struts框架使用OGNL作为默认的表达式语言. OGNL优势 支持对象方法调用,如:×××.doSomeSpecial(); 支持类静态的方法调用和值访问,表达式的格式 @[类全名(包括包路径)]@[方法名 |  值名],例如: @java.lang.String@format('fo…
OGNL(Object-Graph Navigation Language)全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. ognl的特点: a.支持对象的方法调用,形式,eg:objName.methodName(); b.支持静态类的方法调用和值访问,expression:@[类全名(包括包路径)]@[方法名|值名],eg:@tutorial.MyConstant@Ap…
OGNL(Object-Graph Navigation Language)全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. ognl的特点: a.支持对象的方法调用,形式,eg:objName.methodName(); b.支持静态类的方法调用和值访问,expression:@[类全名(包括包路径)]@[方法名|值名],eg:@tutorial.MyConstant@Ap…
首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.…
访问Action中的普通属性: <s:property value="loginname"/><br/> 访问Action中的对象属性: <s:property value="user.birthday"/><br/> 访问Action中的Set属性: <s:property value="courseSet.toArray()[0]"/><br/> 访问Action中的Li…
一.OGNL的概念 OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JSTL(JSP Standard Tag Library),J…
先了解一下OGNL的概念 OGNL的全名称Object Graph Navigation Language.全称为对象图导航语言,是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取Java对象树中的任意属性.调用Java对象树的方法.同时能够自动实现必要的类型转化. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.它有一个上下文根对象. 值栈(ValueStack) : 可以在值栈中放入.删除.查询对象…
一:什么是值栈 1:ValueStack:值栈.其本身的数据结构是一个栈,使用者可以把一些对象存入栈中.然后使用动态的表达式来读取bean的属性.由于值栈中可能有多个对象 值栈会按照对象出栈的顺序依次尝试使用动态的表达式来读取值,知道成功读取值为止.struts2默认使用的是OgnlValueStack,即使用ognl这个动态表达式语言来读取值. 2:在Struts2执行一次请求的过程中,Struts2会把当前的Action对象自动放入值栈.这样,在渲染JSP时,JSP里的代码使用<s:prop…
本篇主要是自己对 JavaWeb中 EL.OGNL.Taglib 个人理解. 因为以上内容都是在 JSP 的基础下产生的概念, 首先得说说我眼中的 JSP. 她自由的.奔放的,就像辽阔的大海,跨越任何服务器屏障.运行在各种平台. 她能容纳下各种形式的代码和标签库,Java 原生代码.JSTL 表达式.Struts Taglib .JSF Taglib .Webwork Taglib ....任何人自定义的各种标签. Web 视图层的基本思想已被 JSP 阐述的淋漓尽致,但 IT 领域人们不喜欢阳…
一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的时候对实现过程进行了封装,用起来比较方便. 3.实现过程 (1)在Action文件中定义好相关属性,属性名字和表单中的name属性值要相同. (2)在Action同目录下新建一个XML文件,文件命名规则如下 * 如果是针对整个Action文件的,则文件名为:ActionClassName-valid…
取自<JAVAWEB整合开发王者归来> 是一种类似EL的语言,比EL强大的多 能访问对象的方法,例如list.size() 能访问静态属性与静态方法,方法是在类名前.方法前加上@.如@java.lang.Math@PI,@java.lang.String@format('foo%s','bar') 支持赋值操作和表达式串联:如赋值#value=5 访问OGNL上下文(OGNL context)和ActionContext(所有的Servlet资源) 操作集合类对象 OGNL主要三个符号:#.%…
一.OGNL OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.它有一个上下文根对象. 上下文中的根对象可以直接使用名…
一.OGNL全称是Object Graph Navigation Language,即对象导航图语言 OGNL在框架中主要做两件事情:表达式语言和类型转换器 OGNL在框架中的作用以及数据的流入流出: 二.ValueStack值栈 定义:是内存中的一块空间,栈和堆之外的空间,它具有栈的特征,可以存放多个对象,如果存放多个对象,他们是按照先后顺序压入堆栈的.框架在处理每个请求时,都会创建该请求对应的运行环境,这时会创建值栈和请求对应的Action实例,并将Action实例压入值栈中 三.实现思路…
1.OGNL 出现的意义 在mvc中,数据是在各个层次之间进行流转是一个不争的事实.而这种流转,也就会面临一些困境,这些困境,是由于数据在不同世界中的表现形式不同而造成的: a. 数据在页面上是一个扁平的,不带数据类型的字符串,无论你的数据结构有多复杂,数据类型有多丰富,到了展示的时候,全都一视同仁的成为字符串在页面上展现出来. b. 数据在Java世界中可以表现为丰富的数据结构和数据类型,你可以自行定义你喜欢的类,在类与类之间进行继承.嵌套.我们通常会把这种模型称之为复杂的对象树.此时,如果数…