开源中文网

您的位置: 首页 > JSP > 正文

关于JSP 表达式语言的全面解读!

来源: 程序之心  作者: 丁仪

EL 在 JSP 中默认开启,如果不想使用,可通过如下方式禁用 EL 表达式。

 

语法结构

.运算符可以用于访问属性,要访问的属性必须有 getter 方法。但属性名不能有特殊字符,如果有特殊字符就必须使用[]运算符。.运算符也可以用于 Map 的访问,.后跟上 key 即可。

这两种运算符都可以递归使用,也可以交叉使用。对于多维数组、嵌套集合或其他复杂结构,也可以使用 EL 表达式。

$

在 EL 表达式中,数字、字符串、布尔值和 null 都可以被指定为文字值。字符串可以用单引号或双引号。布尔值为 true 和 false。

同大部分语言一样,EL 表达式也提供了一些基础运算符,如算术运算符、关系运算符、逻辑运算符等。在 ${} 表达式中,我们可以直接进行四则运算、关系比较、逻辑运算,比如 $ 将输出 3。

 

▶empty 运算符,测试是否为空 : $

▶三元运算 : $

使用 EL 表达式,我们可以很容易地在 JSP 中输出用户信息,如下所示:

▶$ 取得请求的URL,但不包括请求之参数字符串

▶$ 取得用户的IP 地址

 

JSP EL 中的函数

 

$

使用函数时,需要使用 标签包含函数库。比如 JSTL 库中有计算字符串长度的函数,我们可以这样使用:

 

JSP EL 隐含对象


pageScope、requestScope、sessionScope、applicationScope 变量可以用来访问各个作用域层次的变量,如访问 Request 中的 data 变量,可以这样写表达式$。

header 和 headerValues 对象可以用来访问 HTTP 头信息,EL 表达式等效于request.getHeader和request.getHeaders,分别返回一个参数值和一个参数值数组。

pageContext 拥有访问所有其它八个 JSP 隐式对象的特性。实际上,这是将它包括在 EL 隐式对象中的主要理由。

Tags:表达式 语言
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明