JavaWeb ---- EL学习
来源:互联网 发布:.js文件如何打开 编辑:程序博客网 时间:2024/06/05 21:18
1.EL简介
表达式语言是JSP2.0的一个新特性,全名为Expression Language,简称EL。EL能实现对pageContext对象、session对象、request对象等存储对象的简化访问,能够简洁地访问请求参数、Cookie和其他请求数据,即EL可以很方便地访问大多数JSP内置的隐含对象,从而简化编程。还可以简化对JavaBean属性和集合元素的访问。
EL语法很简单,使用非常方便。
${ 表达式 }//合法的EL表达式,可以包含常量、变量以及操作符
${ bean.name } 或 ${ bean['name'] } // 访问JavaBean对象bean的属性name(实质是调用bean的getName()方法)
为什么需要EL?
JavaBean在JSP中有它的局限:获取JavaBean属性必须要实例化;强制类型转化。
如果页面编写出现逻辑错,将会导致代码执行错误,并且JSP页面编译页面时也会产生错误。
解决办法就是使用EL表达式简化。
EL语言中操作对象时,可以非常简单地使用各种算术、关系、逻辑或空值测试运算符,简化操作运算。如果要针对不同情况和条件进行输出不同的信息,根本不再需要采用Java语言编程,就可以轻松实现条件化输出,从而消除了大部分类型转换的需要,同时也省略掉很多将字符串解析成数字的代码,实现了自动类型转换。
Jsp传统示例
<% String str_count = request.getParameter("count"); int count= Integer.parseInt(str_count ); count = count+5; out.print("count:"+count);%>
而使用EL实现同样的功能只需要如下简单的一行代码:
count: ${ param.count + 5}
大多数Java Web服务器都是默认支持EL的。对于单个JSP页面,可以使用page指令来设置JSP页面是否支持EL。JSP页面默认支持EL,如果不支持的话,我们可以通过设置page指令的isELIgnored属性为false,来实现对EL的支持。
而对于整个JSP应用,要修改Web应用的web.xml配置文件来设置是否支持EL。如果要使整个JSP应用都支持EL,则设置<jsp-property-group>元素的子元素<el-ignored>的值为false。
<jsp-property-group><el-ignored>false|true</el-ignored></jsp-property-group>
2.EL应用
2.1 EL运算符求值
EL中的运算符包括算术运算符(+、-、*、/)、关系运算符(>、<)和逻辑运算符(&&、||、!),还有empty运算符,它是用来判断值是否为空的。
2.2访问作用域变量
可以用EL表达式语言按照pageContext、HttpServletRequest、HttpSession、ServletContext的顺序访问作用域,一般格式如下:
EL访问作用域变量语法格式:${ attribute } 作用域变量
它的作用域相当于如下代码:
${ attribute }<%=pageContext.findAttribute(attrname) %><jsp:useBean id="attrname" type="Package.Class" scope="..."><%=attrname %>
2.3 EL内置对象
JSP有9个内置对象,在EL中也有自己的内置对象。它们共有11个,按功能可以分为3类。具体如下:
- JavaWeb ---- EL学习
- JavaWeb学习总结---EL表达式
- JavaWeb(EL表达式学习笔记)
- JavaWeb学习篇之----EL表达式详解
- JavaWeb学习十(JavaBean和EL表达式)
- Java学习笔记之JavaWeb-EL表达式
- JavaWeb学习篇之----EL表达式详解
- JavaWeb学习篇之EL表达式
- javaweb学习总结(二十九)——EL表达式
- javaweb学习总结(二十九)——EL表达式
- javaweb学习总结(二十九)——EL表达式
- javaweb学习总结(三十)——EL函数库
- javaweb学习总结(二十九)——EL表达式
- javaweb学习总结(三十)——EL函数库
- javaweb学习总结(二十九)——EL表达式
- javaweb学习总结(三十)——EL函数库
- JavaWeb学习笔记:初识EL表达式和JSTL
- javaweb学习总结(二十九)——EL表达式
- chroma key (绿背景抠图)
- 【OpenCV笔记】使用VS2012和OpenCV2.4.9搭建配置OpenCV开发环境
- hdu 2089 不要62
- 使用 spm 和 SeaJS
- ubuntu install Oracle JDK/JRE
- JavaWeb ---- EL学习
- 进度条
- POJ3171 Cleaning Shifts DP,区间覆盖最值
- OC NSString
- java中什么时候加载类
- poj_3071概率dp
- 输入两个字符串,比如abdbcc和abc,输出第二个字符串在第一个字符串中的连接次序(递归方法)
- uva 10401 - Injured Queen Problem
- log4perl perl日志库