EL表达式

1.EL表达式(Excression Language)

目的:为了使JSP写起来更加简单

基本语法:${...}

EL提供“.”和“[]”两种运算符来存取数据。

例子:

常规写法: <%=session.getAttribute("test")%>

EL表达式写法: ${sessionScope.test}或者${sessionScope["test"]}

[]和. 大多数情况下可以通用, 除了两种情况中

(1)表达式中含有特殊字符

错误: ${sessionScope.test_name}

正确: ${sessionScope["test_name"]}

(2)需要动态获取属性

sessionScope["test"]

[] 中可以放一个变量名, 但是点的后面不行。

在EL表达式中[]也可以用来表示数组或者集合中的索引值。

EL存取变量数据的方法:

${username}

当前面不指定哪个作用域下面的值的时候, 会默认按照下面的顺序去找, 如果都找不到, 就输出一个空字符串

pageScope --> requestScope --> sessionScope --> applicationScope

EL自动类型转换
<%String num = request.getParameter("num");
int a = 20;
int b = Integer.parseInt(num != null ? num : "0");
out.print(a + b);%>

${param.num + a}

EL隐式对象
上面说到的各种Scope和param都是EL表达式中的隐式对象
paramValues--->所有请求参数作为String类型的数组的Map类
Header--->按照名称存储请求头主要值的Map类
HeaderValues--->将请求头的所有值作为String数组存储的Map类
cookie将名称存储请求附带的cookies的Map类
获取cookie:
${cookie.username.name}
${cookie.username.value}
initParam按名称存储web应用程序上下文初始化参数的Map类
EL运算符
算术运算符: + - * /或者div %或者mod
关系运算符: ==或者eq !=或者ne <或者lt >或者gt <=或者le >=或者ge
逻辑运算符: &&或者and ||或者or !或者not
验证运算符: empty( empty 对于 null和"" 的判断都是返回true)
判断某个变量是否为空

原文地址:https://www.cnblogs.com/angangxiaofa/p/7114718.html