EL表达式取值和运算

参考:
(1)、${pageContext} 获取到 pageContext 对象,它不是在四个域里面去找,而是先在自己定义的对象中找,如果找到了就取出来。
(2)、${pageScope} 得到的是 page 域 (pageContext) 中保存数据的 Map集合。也就是指定在 page 域中查找。
(3)、${requestScope}、${sessionScope}、${applicationScope} 和上面的 pageScope 一样,都是在特定的域中检索数据。
(4)、${param} 获取存在 request 中请求参数的 Map,常用在数据回显上。
(5)、${paramValues} 获取存在 request 中请求参数名相同的值的 String[] 数组。
(8)、${header} 获取 HTTP 请求头的 Map 对象。
(9)、${headValues} 获取 HTTP 请求头值的 Map 对象
(10)、${cookie} 获取所有 cookie 的 Map 对象
(11)、${initParam} 获取保存所有 Web 应用初始化参数的 Map 对象

 

${你要取得值}
他默认会从page,request,session,application这四个域中查找
他实际是调用pageContext.findAttribute("");查找的

 

在jsp页面中不能通过${list.size}取列表长度,而是 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> 

List长度是:${fn:length(list)}

 

在EL表达式中我们可以使用运算符以达到我们想要的结果,运算符按作用分为以下几种:

1.算术运算符

+  例如:${6+6} 。注意:在EL表达式中的‘+’只有数学运算的功能,没有连接符的功能,它会试着把运算符两边的操作数转换为数值类型,进而进行数学加法运算,最后把结果输出。若出现${'a'+'b'}则会出现异常。

- 例如:${4-3} 

* 例如:${4*3} 

/ 例如:${9/3}

 

2.关系运算符

> 或者 gt, 例如:${8>9}  或者 ${8 gt 9 }

>= 或者 ge, 例如:${45>=9} 或者 ${45 ge 9 }

< 或者 lt, 例如:${4<9} 或者 ${4 lt 9 }

<= 或者 le, 例如:${9<=8} 或者 ${9 le 8 }

== 或者 eq, 例如:${4==4} 或者 ${4 eq 4 }

!= 或者 ne, 例如:${4!=3} 或者 ${4 ne 3 }

 

3.逻辑运算符

&& 或者 and, 例如:${false && false} 或者 ${false and false }

|| 或者 or, 例如:${true || false} 或者 ${true or false }

! 或者 not,例如:${!true}(相当于${false}) 或者 ${not true }

 

4.三元运算符

? : 例如:${3>2?'是':'不是'}

 

5.特殊运算符

empty 判断EL表达式中的表达式是否为空,例如:${empty sessionScope.user} 

not empty 判断EL表达是中的表达式不为空,例如:${not empty sessionScope.user} 

"." 是我们最常用的,作用相当于执行Bean中的get方法。 例如:${sessionScope.user.userName}意思是:在会话中得到名称为user的Bean对象,通过“.”运算符执行getUserName();方法,返回存放在Bean中的用户名属性的值。 [] 作用和“.”运算符的一样,只不过[]运算符可以执行一些不规则的标识符。 例如:${requestScope.user["score-math"]},这个表达式中有不规则的标识符,是不能使用“.”来访问的。

 

posted @ 2017-02-16 23:28  Jonnyxu  阅读(6790)  评论(0编辑  收藏  举报