一个EL表达式包含变量和操作符。任何存储在某个JSP作用范围(如:page、 request、session、application)的bean能被作为一个EL变量来使用。另外,EL支持以下预定义的变量: 变量名称 | 说明 |
pageScope | 一个包含所有page scope范围的变量集合 (a java.util.Map) |
requestScope | 一个包含所有request scope范围的变量集合 (a java.util.Map) |
sessionScope | 一个包含所有session scope范围的变量集合 (a java.util.Map) |
applicationScope | 一个包含所有application scope范围的变量集合 (a java.util.Map) |
param | 一个包含所有请求参数的集合 (a java.util.Map),通过每个参数对应一个String值的方式赋值 |
paramValues | 一个包含所有请求参数的集合 (a java.util.Map),通过每个参数对应一个String数组的方式赋值 |
header | 一个包含所有请求的头信息的集合, (a java.util.Map) ,通过每个头信息对应一个String值的方式赋值 |
headerValues | 一个包含所有请求的头信息的集合 (a java.util.Map) ,通过每个头信息的值都保存在一个String数组的方式赋值 |
cookie | 一个包含所有请求的 cookie集合 (a java.util.Map), 通过每一个cookie(javax.servlet.http.Cookie)对应一个cookie值的方式赋值 |
initParam | 一个包含所有应用程序初始化参数的集合(a java.util.Map) ,通过每个参数分别对应一个String值的方式赋值 |
pageContext | 一个javax.servlet.jsp.PageContext类的实例, 用来提供访问不同的请求数据 |
操作符描述了你对变量所期望的操作。如果你之前曾经使用过任何编程语言的话,在EL表达式中所使用的操作符对你来说可能看起来很熟悉。因为它们和那些在大多数语言中所支持的操作符一样。
Operator | Description |
. | 访问一个bean属性或者 Map entry |
[] | 访问一个数组或者链表元素 |
() | 对子表达式分组,用来改变赋值顺序 |
? : | 条件语句,比如: 条件 ? ifTrue : ifFalse.如果条件为真,表达式值为前者,反之为后者 |
+ | 数学运算符,加操作 |
- | 数学运算符,减操作或者对一个值取反 |
* | 数学运算符,乘操作 |
/ or div | 数学运算符,除操作 |
% or mod | 数学运算符,模操作(取余) |
== or eq | 逻辑运算符,判断符号左右两端是否相等,如果相等返回true,否则返回false |
!= or ne | 逻辑运算符,判断符号左右两端是否不相等,如果不相等返回true,否则返回false |
< or lt | 逻辑运算符,判断符号左边是否小于右边,如果小于返回true,否则返回false |
> or gt | 逻辑运算符,判断符号左边是否大于右边,如果大于返回true,否则返回false |
<= or le | 逻辑运算符,判断符号左边是否小于或者等于右边,如果小于或者等于返回true,否则返回false |
>= or ge | 逻辑运算符,判断符号左边是否大于或者等于右边,如果大于或者等于返回true,否则返回false |
&& or and | 逻辑运算符,与操作赋。如果左右两边同为true返回true,否则返回false |
|| or or | 逻辑运算符,或操作赋。如果左右两边有任何一边为true返回true,否则返回false |
! or not | 逻辑运算符,非操作赋。如果对true取运算返回false,否则返回true |
empty | 用来对一个空变量值进行判断: null、一个空String、空数组、 空Map、没有条目的Collection集合 |
func(args) | 调用方法, func是方法名,args是参数,可以没有,或者有一个、多个参数.参数间用逗号隔开 |
一个EL表达式可以包含:数字、文本(在单引号或者双引号之间)、布尔值、null值。
因为一个EL表达式可以出现在静态文本出现的地方,因此你必须告诉JSP容器它应该被当作一个EL表达式来处理。你可以通过使用定界符来做到这一点。一个EL表达式总是以”${ }”来标记(一个“$”符号和一个左花括号,右花括号)。
除了在这个方法中使用的length()方法,JSTL1.1标签库还包含了许多其它经常使用的函数:
函数 | 描述 |
fn:contains(string, substring) | 如果参数string中包含参数substring,返回true |
fn:containsIgnoreCase(string, substring) | 如果参数string中包含参数substring(忽略大小写),返回true |
fn:endsWith(string, suffix) | 如果参数 string 以参数suffix结尾,返回true |
fn:escapeXml(string) | 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回 |
fn:indexOf(string, substring) | 返回参数substring在参数string中第一次出现的位置 |
fn:join(array, separator) | 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。 |
fn:length(item) | 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。 |
fn:replace(string, before, after) | 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果 |
fn:split(string, separator) | 返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素 |
fn:startsWith(string, prefix) | 如果参数string以参数prefix开头,返回true |
fn:substring(string, begin, end) | 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符 |
fn:substringAfter(string, substring) | 返回参数substring在参数string中后面的那一部分字符串 |
fn:substringBefore(string, substring) | 返回参数substring在参数string中前面的那一部分字符串 |
fn:toLowerCase(string) | 将参数string所有的字符变为小写,并将其返回 |
fn:toUpperCase(string) | 将参数string所有的字符变为大写,并将其返回 |
fn:trim(string) | 去除参数string 首尾的空格,并将其返回 |
相关推荐
JSTL 1.1规范中的EL可以独立于JSTL标签库使用,JSP2.0容器能够直接解析和执行EL表达式。这使得EL在JSP页面的任何地方都可直接应用,增强了代码的可读性和可维护性。 总的来说,JSTL和EL为JSP开发带来了标准化和效率...
此外,由于JSTL遵循Java的编程规范,它也支持面向对象的设计原则,比如可以利用EL(Expression Language)表达式来传递参数,增强了代码的灵活性。 总结一下,"jstl-impl-1.2.jar"和"jstl-api-1.2.jar"是Java Web...
而在**JSTL 1.1**及其后续版本中,EL表达式可以直接在JSP页面中使用,因为JSP 2.0容器已经能独立解析和执行EL表达式,不再局限于JSTL标签内。 JSTL包含多个库,每个库都有特定的功能: 1. **核心标签库(Core ...
总的来说,JSTL和EL表达式是JSP开发中不可或缺的部分,它们提供了更加优雅的代码组织方式,降低了维护成本,并提高了开发效率。通过理解并熟练运用这两个工具,开发者能够更好地构建健壮且易于维护的Web应用程序。
1. jstl-api-1.2.1.jar:这是JSTL的API接口定义,包含了JSTL的所有标签和EL表达式的接口定义。开发者在编写代码时主要引用这个jar包,通过这些接口可以调用JSTL提供的功能。 2. jstl-1.2.jar:这是JSTL的核心实现库...
例如,你可以使用EL表达式 `${}` 在JSTL标签中获取或设置值,如 `${user.isLoggedIn}">`。 JSTL有多个核心模块,包括Core(基础标签库)、Format(国际化和格式化)、XML(XML处理)和Function(自定义函数)。在...
**JSTL与EL的协同工作**:在JSP页面中,EL表达式通常与JSTL标签一起使用,EL负责数据的获取和计算,而JSTL标签则负责页面的逻辑控制。例如,使用EL表达式和`<c:if>`标签可以实现简单的条件判断: ```jsp ${user != ...
JSP应用开发-EL表达式与JSTL标签 EL表达式(Expression Language)是一种用于JSP页面中的语言,主要用于替换JSP页面中的脚本表达式,从JSP隐式对象中提取java对象、获取数据。EL表达式的语法结构是:“${变量或...
4. **Function标签库**:提供了一系列预定义的函数,可以作为EL表达式中的方法调用,例如字符串操作、数组和集合操作等。 5. **JSTL SQL标签库**:处理数据库操作,包括查询、更新、插入和删除等。虽然在现代开发中...
EL表达式通常以`${}`包裹,它能够直接访问作用域中的对象,如request、session、application等。EL的优势在于其简洁性,可以快速地访问和操作数据,而无需编写大量的Java脚本。 **相关jar包**: - **standard.jar**...
本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...
它包含了EL(Expression Language)表达式处理、核心标签库、JDBC标签库、XML处理标签库以及国际化的支持。 **jstl.jar** 文件通常包含的是早期版本的JSTL,它集成了API和实现,但在这个场景中,可能是为了避免与...
EL语言在JSTL1.0规范中被引入,并在JSTL1.1规范中得到进一步发展,使得JSP2.0容器能够独立理解EL表达式。 EL表达式语言借鉴了JavaScript的多类型转换无关性的特点,支持在不进行显式类型转换的情况下从各种不同的上...
【JSTL与EL表达式详解】 JSTL(JSP Standard Tag Library)是Java服务器端的一个重要组件,主要用于简化JSP页面的编程,提供了一系列的标签库来处理常见的任务,比如数据处理、URL操作、国际化等。它由Apache ...
6. **JSTL与EL表达式(Expression Language)**:JSTL通常与JavaServer Pages Expression Language (EL) 结合使用,EL用于在JSP页面中访问和操作Java对象。EL表达式可以在JSTL标签中直接使用,简化了数据绑定。 7. ...
在实际开发中,JSTL常常与EL(Expression Language)一起使用,提供更强大的数据绑定和表达式处理能力。总之,JSTL是Java Web开发中不可或缺的一部分,对于提升开发效率和代码质量具有显著作用。
JSTL与EL(Expression Language)常常配合使用,EL负责表达式计算,JSTL负责控制流程。例如,EL可以用来获取和设置页面作用域内的对象,而JSTL则可以用来处理这些对象。 5. 示例应用 - 使用`<c:forEach>`遍历集合...
在"JSTL与El表达式源代码"中,我们可以看到这两个技术的结合使用,以提高Web应用程序的可读性和可维护性。例如,`<c:out>`是JSTL中的一个核心标签,用于输出变量或表达式的值,而`${}`则是EL表达式的符号,用于访问...
同样,这个文件提供了Standard库的源代码,对于深入理解EL表达式的处理和JSTL标签的具体实现非常有帮助。 6. **使用方法** 在JSP项目中,首先将这两个JAR文件添加到类路径中,然后在JSP页面顶部通过`...