【Java Web】Java Server Page总结(EL表达式)

EL表达式的出现使得我们可以更方便地访问JavaBean中的数据,同时既可以用EL表达式创建算数表达式,也可以用来创建路基表达式。

EL表达式中,我们可以使用整型数,浮点数,字符串,常量truefalse,还有null

使用

首先我们需要在jsp页面中开启EL表达式支持:

<!-- true:禁用EL表达式 -- false:启用EL表达式 -->  
<%@ page isELIgnored ="true|false" %> 

EL表达式的语法:

${expr}

jsp页面在编译时,会产生代码来计算表达式,并且用计算结果(并非总是一个确定的值)来替代这个表达式的值。

读取对象

EL表达式中,.[]都可以读取目标中的对象:

${sessionScope.name}

等价于:

${sessionScope["name"]}

操作符

EL表达式支持大部分Java所提供的算术和逻辑操作符:

操作符 描述
. 访问一个Bean属性或者一个映射条目
[] 访问一个数组或者链表的元素
( ) 组织一个子表达式以改变优先级
+
- 减或负
*
/ or div
% or mod 取模
== or eq 测试是否相等
!= or ne 测试是否不等
< or lt 测试是否小于
> or gt 测试是否大于
<= or le 测试是否小于等于
>= or ge 测试是否大于等于
&& or and 测试逻辑与
|| or or 测试逻辑或
! or not 测试取反
empty 测试是否空值
?    : 三目运算符

使用函数

EL表达式中可以使用被定义在自定义标签库中的函数,语法如下:

${namespace:function_name(param1, param2, ...)}

隐式对象

LE表达式中包含以下隐式对象:

隐含对象 描述
pageScope page 作用域
requestScope request 作用域
sessionScope session 作用域
applicationScope application 作用域
param Request 对象的参数,字符串
paramValues Request对象的参数,字符串集合
header HTTP 信息头,字符串
headerValues HTTP 信息头,字符串集合
initParam 上下文初始化参数
cookie Cookie值
pageContext 当前页面的pageContext

request中的参数可以通过${requestScope.attributeName},也可以直接通过${attributeName}来获取。

如果是URL后面跟着的参数如:

https://www.vingyun.com/test?nickname=ving

则需要通过${param.nickname}的方式来获取。

使用建议


是否存在参数判定

判断是否存在指定参数时,我们使用${EMPTY paramName}或者${NOT EMPTY paramName}来判断。

猜你喜欢

转载自blog.csdn.net/ving_suixin/article/details/80146666