日期:2014-05-19  浏览次数:20859 次

JSTL-EL表达式
因为一个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 首尾的空格,并将其返回
 

***************************************
操作符描述了你对变量所期望的操作。如果你之前曾经使用过任何编程语言的话,在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作用范围(如: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范围的变量