JSP表达式语言(EL)
JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整数型、浮点型、字符串、常量true、false,还有null。一般的在JSP标签中指定一个属性值时,需要使用一大行代码:
<jsp:setProperty name="box" property="perimeter" value="100" />
JSP EL 允许指定一个表达式来表示一个属性值:${expr} ,其中,expr指的是表达式。在JSP EL中通用的操作符是 . 和 {}。这两个操作符允许通过内嵌的JSP对象访问各种各样的JavaBean属性。例如上面的<jsp:setProperty>标签可以使用表达式语言写成下面形式:
    <jsp:setProperty   name="box"  property="permeter"  value="${box.width*2+box.height*2}"  />
当JSP编译器在属性中见到"${}"格式后,它湖产生代码来计算这个表达式,并且产生一个替代品来代替表达式的值。
<jsp:text>
Box Perimeter is:${box.width*2+box.height*}
</jsp:text>
在EL表达式中可以使用圆括号来组织表达式,想要停用对EL表达式的评估,需要使用page指令的isELIgnored的属性值设置为true :
<%@ page isELIgnored="true|false" %> //默认是false,即EL表达式有效
将isELIgnored属性值设置为true,这样在这个JSP页面EL表达式就会失效。
EL中的基础操作符
EL表达式支持大部分Java所提供的算术和逻辑操作符:
| 操作符 | 描述 | 
| . | 访问对象的一个属性或者一个映射条目 | 
| [] | 访问对象的一个属性或者一个数组、链表的元素 | 
| () | 组织一个子表达式以改变优先级 | 
| + | 加 | 
| - | 减 | 
| * | 乘 | 
| / or div | 除 | 
| % or mod | 取余 | 
| == or eq | 测试是否相等 | 
| != or ne | 测试是否不等 | 
| < or lt | 测试是否小于(less than) | 
| > or gt | 测试是否大于(greater than) | 
| <= or le | 测试是否小于等于 | 
| >= or ge | 测试是否大于等于 | 
| && or and | 测试逻辑与 | 
| || or or | 测试逻辑或 | 
| ! or not | 测试逻辑非 | 
| empty | 测试是否空值 | 
JSP EL中的函数
JSP EL允许在表达式中使用函数。这些函数必须被定义在自定义标签库中。
    ${fn:length("Get  my  length")}
fn:length函数在JSTL库中定义,上面的语法可以获取一个字符串的长度,要使用任何标签库的函数,都需要将这些库安装在服务器中,然后使用<taglib>标签在JSP 文件中引用这些库。
JSP EL隐含对象
JSP EL支持下表中的隐含对象:
| 隐含对象 | 描述 | 
| pageScope | page作用域 | 
| requestScope | request作用域 | 
| sessionScope | session作用域 | 
| applicationScope | application作用域 | 
| param | request对象的参数,字符串 | 
| paramValues | request对象的参数,字符串集合 | 
| header | HTTP信息头,字符串 | 
| headerValues | HTTP信息头,字符串集合 | 
| initParam | 上下文初始化参数 | 
| cookie | Cookie值 | 
| pageContext | 当前页面的pageContext | 
pageContext对象
pageContext对象是JSP中pageContext对象的引用。通过pageContext对象可以访问request对象。例如,访问request对象传入的查询字符串:
        ${pageContext.request.queryString}
scope对象
pageScope,requestScope,sessionScope,applicationScope变量用来访问存储在各个作用域层次的变量。如需要访问session范围域内的test变量,可以这样用${sessionScope.tset}。
param和paramValues对象
param和paramValues对象用来访问参数值,用来替换request.getParameter方法和request.getParameterValues方法。例如,访问一个名为order的参数,可以用EL表达式:${param.order},或者${param[order]}。param对象返回单一的字符串,而paramValues对象则返回一个字符串数组。
JSP表达式语言(EL)的更多相关文章
- 【jsp】详解JSP表达式语言(EL)
		一.JSP EL语言定义 E L(Expression Language) 目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 ... 
- JSP 表达式语言
		JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式.在JSP EL表达式内可以使用整型数,浮点 ... 
- JavaWeb——JSP表达式语言(EL)
		1.JSP表达式语言(EL)用于在jsp从访问存储在JavaBean中的数据,例如 User ID: ${user.userId}<br /> 这里的${user.userId}就是JSP ... 
- 表达式语言EL
		表达式语言EL 表达式语言 EL(Expression Language,表达式语言)主要是用在JSP页面中,用来辅助我们产生无脚本的JSP页面,此处的脚本指的是JSP中的Java代码. EL的语法是 ... 
- 表达式语言EL简单学习
		Jsp2.0最重要的特性就是表达式语言EL.jsp用户可以用它来访问应用程序数据. EL表达式以${开头并以}结束. ${expresion} ${x+y} 它也常用来连接两个表达式,取值将从 ... 
- JSP-Runoob:JSP 表达式语言
		ylbtech-JSP-Runoob:JSP 表达式语言 1.返回顶部 1. JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建 ... 
- 06.十分钟学会表达式语言EL
		一. 概念:MVC设计模式一个主要好处就是让jsp中的代码越来越来少,而且规定只能出现三种代码:接收属性,判断语句,迭代输出.但是,在开发中,jsp输出至少还是需要接受VO对象的,这时候为了避免导入V ... 
- Java EE之表达式语言EL(上)
		1.了解表达式语言 表达式语言(EL)用于在不使用脚本.声明或者表达式的情况下,在JSP页面中渲染数据. EL曾是JSTL 1.0规范(与JSP 1.2)中的一部分,并且只可以用作JSTL标签的特性. ... 
- Java EE之表达式语言EL(下)
		1.在EL表达式中使用作用域变量 表达式语言对作用域变量的支持,以及它解析变量的方式都使它变得非常有用. 1.1 EL表达式的隐式变量 EL表达式的作用域中定义了11个隐式变量. 当EL表达式引用了一 ... 
随机推荐
- 喵哈哈村的魔法考试 Round #1 (Div.2) ABCD
			官方题解: http://www.cnblogs.com/qscqesze/p/6418555.html#3623453 喵哈哈村的魔法石 描述 传说喵哈哈村有三种神奇的魔法石:第一种魔法石叫做人铁石 ... 
- 维骨力Glucosamine的最关键的几点...
			1.每日劑量應為多少?長期服用安全嗎? 由於葡萄糖胺(Glucosamine)和軟骨素(Chondroitin)原來就存在於人體,是人體每天會生產製造的必需營養素,因此,一般認為服用此類產品的安全性相 ... 
- TNS-12508 When Issuing Any SET Command For The Listene
			TNS-12508 When Issuing Any SET Command For The Listener fact: Oracle Net Services fact: TNS Liste ... 
- DataTable数据导入DataBase
			EXcel---->DataTable--->DataBase /// <summary> /// Excel数据-->DataTable导入DataBase /// & ... 
- c#很好用的定时器Quartz--含附件
			1.引用附件中的两个DLL 2.创建类 public class QuartzJob:IStatefulJob { private static ISchedulerFactory factory = ... 
- sql子查询的例子
			1.单行子查询 select ename,deptno,sal from emp where deptno=(select deptno from dept ... 
- 证明碰撞集问题(Hitting Set)是NP-complete
			证明碰撞集问题(Hitting Set)是NP-complete Problem In the HITTING SET problem, we are given a family of sets { ... 
- 全志R58平台的GPIO引脚控制
			全志R58平台的GPIO引脚控制 2017/8/18 15:50 版本:V1.0 开发板:SC5806(全志R58平台) SDK:android4.4.4 本文以GPIO引脚PD24为例,在开发板的背 ... 
- Android 仿百度医生的智能分诊界面
			http://blog.csdn.net/jiang89125/article/details/49622853 
- php 生成饼状图,折线图,条形图 通用类
			生成饼状图,折线图,条形图通用的php类,这里使用的是百度 Echart. Echart 官方网站 http://echarts.baidu.com/ <?php class Echarts ... 
