JSP学习笔记(6.EL表达式)

EL表达式是JSP2.0引入的特性,用于简化页面表达式,它可以获取四个作用域的值,如pageScope,requestScope,sessionScope和applicationScope。EL支持对String,List,Map和Object的取值,以及进行布尔判断、算术运算、关系比较和逻辑操作。文章还提到了在不同JSP版本中处理EL表达式的问题,以及如何开启和使用EL表达式。
摘要由CSDN通过智能技术生成

6. EL表达式

jsp2.0加入,可用在文本或jsp标签中。用来代替 <% %> 和 <%= %>,可用在可以使用jsp表达式的标签属性中。

<li>名字: ${name}</li>

<jsp:include page="${xxx}"/>

<c:out value="${xxx}"/>

(1). 格式:

${ }  (例:${msg})

(2). 取值:

EL表达式只能获取四个作用域的的值

a. String取值(${作用域.作用域键})

${pageScope.param},

${requestScope.param},

${sessionScope.param},

${applicationScope.param}

 注释:jsp不识别el表达式,原文输出是因为Servlet是3.0关闭了el表达式的识别。可以在jsp中加<%@ isELIgnored="false" %>来开启el表达式,版本可以通过web.xml的<web-app>查看。我是4.0版加了开启后 会输出空的{},原因未知,通过将${param}改为带作用域${pageScope.param}解决。

b. List取值(${作用域.作用域键[下标]})

${requestScope.params[0]}

 c. Map取值(${作用域.作用域键.集合键},${作用域.作用域键["集合键"]})

${requestScope.maps.key2}

${requestScope.maps["key3"]}

 d. Object取值(${作用域.作用域键.类对象项目名})

${request.user.name}

${request.user.age}

(3). 判断

a. 取boolean值

判空:${ Empty param0}

非空:${ !Empty param0}

比较:${ 1 > 2 },${ "a" eq "a" }, ${ 1 > 2 || 1 < 2 }

注释:上面结果都会以 true 或 false 的字符串形式输出到浏览器

算数运算:

+ : ${6 + (-2)},- :${6 - 1},*:${2 * 3},/ 或 div:${4/2},${4 div 2},% mod:${20%5} ${20 mod 5}

关系运算:返回boolean类型

等于:${3 == 5} ${ 3 eq 5}

不等于:${3 != 5} ${3 ne 5}

小于:${ 3 < 5}  ${ 3 lt 5}

大于:${ 3 > 5}  ${3 gt 5}

小于等于:${3 <= 5} ${ 3 le 5 }

大于等于:${3 >= 5} ${ 3 ge 5}

逻辑运算:

&& and ,  || or , !  not

${ (9>=4)&&(3<2) } ${ (9>=4)and(3<2) } 

${ (9>=4)||(3<2) } ${ (9>=4)or(3<2) } 

${ ! 5>=6 } ${ not 5>=6 } 

三元运算:

${ 5*5>2? 1 : 0}, ${2+5=3? "xx":"yy"}

判空:

${empty xx} // 判空字符串,空数组,空集合,空map,null

属性访问符:

${对象.属性}  ${map.key}

${对象["属性"]} ${map["key"]} ${list[下标]}  //单双引号一样

作用域变量:

el表达式无属性访问,不抛出异常,返回空字符串。

el可访问嵌套属性 ${a.b.c} // jsp:useBean无法实现。

el表达式隐含变量:

pageContext // jsp的pageContext对象,可取 请求url, sessionid等

param // 请求参数的字符串map。//相当于req.getParameter("xx")

paramValues // 请求参数字符串数组map。 xx[0]  req.getParameterValues("xx")

header // 请求头字符串的map

headerValues // 头字符串的map

initParam // servletContet 的参数名与值,

cookie // ${ cookie.cookie名.value }

pageScope // page作用域

requestScope // request作用域

sessionScope // session作用域

applicationScope // application作用域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值