EL表达式和OGNL表达式 区别小结

1:  EL表达式

单纯在jsp页面中出现,是在四个作用域中取值,page,request,session,application.

如果在struts环境中,它除了有在上面的四个作用域的取值功能外,还能从值栈(valuestack)中取值

特点:

${name},name在值栈中的查找顺序是:先从对象栈中取,取到终止,否则,向map中取。

在对象栈的查找顺序是,先从model中找是否有name这个属性,找到终止,否则,找action中是否有name这个全局变量

:${#name},里面的是不带#号的

如果放在对象栈中的是一个自定义的对象,那么${property}里面可以直接去该对象的属性值

OGNL表达式::

读取从后台传递的值

%{#name}:表示从值栈的map中取值

%{name}:表示从值栈的对象栈中取值

%{#request.name}:表示从request域中取值

另外我喜欢EL表达式和JSTL(JSP标准标签库)结合使用,即c:if,c:foreach等标签库

时间: 2024-08-05 07:05:21

EL表达式和OGNL表达式 区别小结的相关文章

struts.xml中可以使用el表达式和ognl表达式

转自:http://blog.csdn.net/hzc543806053/article/details/7538723 文件上传链接: 1)Servlet 文件上传 ----  点击打开链接 2)Struts2 文件上传 ---- 点击打开链接 文件下载是一个很常见的功能,用struts2实现文件下载的步骤: 一)定义一个Action类,FileDownload.java [java] view plaincopy package com.struts2.filedownload; impor

el表达式跟ognl表达式的区别(转)

EL表达式: >>单纯在jsp页面中出现,是在四个作用域中取值,page,request,session,application.>>如果在struts环境中,它除了有在上面的四个作用域的取值功能外,还能从值栈(valuestack)中取值.>>特点1:${name},name在值栈中的查找顺序是:先从对象栈中取,取到终止,否则,向map中取.>>特点2:在对象栈的查找顺序是,先从model中找是否有name这个属性,找到终止,否则,找action中是否有n

el表达式跟ognl表达式的区别

:  EL表达式 单纯在jsp页面中出现,是在四个作用域中取值,page,request,session,application. 如果在struts环境中,它除了有在上面的四个作用域的取值功能外,还能从值栈(valuestack)中取值 特点: ${name},name在值栈中的查找顺序是:先从对象栈中取,取到终止,否则,向map中取. 在对象栈的查找顺序是,先从model中找是否有name这个属性,找到终止,否则,找action中是否有name这个全局变量 :${#name},里面的是不带#

el 表达式 和 ognl表达式

el (expression language) el 基础操作符 el 能够隐含对象(就是可以直接访问的) el 的两种使用方式,第二种好像在jsp中没有什么用,主要用于jsf el能够访问的对象(javaBean , 类集, 枚举 , 隐含对象) 在oracle官方网站上记录下来的一些我认为有用的东西: 1. ${customer}The web container evaluates the variable that appears in an expression by looking

struts标签、OGNL表达式、JSTL标签、EL表达式

Struts标签.Ognl表达式.el表达式.jstl标签库这四者之间的关系和各自作用 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之

Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

<转载> 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供

OGNL表达式与EL表达式

一.OGNL表达式 a)什么是OGNL? OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言, 通过它简单一致的表达式语法.主要功能: Ø  可以存取对象的任意属性: Ø  调用对象的方法: Ø  遍历整个对象的结构图: Ø  实现字段类型转化等功能. 它使用相同的表达式去存取对象的属性.这样可以更好的取得数据. b)OGNL与Struts2 OGNL是独立的开源组件 Struts2对其进行了改造和封装,OGNL内部自己会维护一个OGN

EL和OGNL表达式的区分

OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="#xx" /> struts页面中不能单独使用,el可以单独使用 ${sessionScope.username} 页面取值区别: 名称 servlet ognl                                                                           el parameters request.getParameter(&q

OGNL表达式语言中的&quot;#&quot;和&quot;$&quot;的区别

Struts2使用标准的Context来进行OGNL表达式语言求值,OGNL的顶级对象是一个Context,这个Context对象就是一个Map类型实例,其根对象就是ValueStack,如果需要访问ValueStack里的属性,直接通过如下方式即可:    //取得ValueStack中bar属性    ${bar}除此之外,Struts2还提供了一些命名对象,但是这些命名对象都不是Stack Context的跟对象,它们只是存在于StackValue中.所以访问这些对象时需要使用“#”前缀来