EL表达式语言总结

EL介绍

Expressive Language, JSP2.0引入,简化jsp开发中对对象的引用。

 

基本语法

${表达式}

 

常见用法

根据其访问对象,可大体分成三类:访问数据及其各种表达式,访问EL的隐含对象以及访问环境信息的隐含对象。

(1)访问数据及其各种表达式

访问数据
${userinfo.id}            //1.访问userinfo的id属性。.和[]用于访问数据,二者等价。
${userinfo[id]} 
${userinfo.[user-name]}  //当属性名含有特殊符号时,就只能使用[],而不能${userinfo.user-name}
${arrBook[0]}            //2.(假定arrBook为数组对象)访问request范围中的数组arrBook中的第一个元素
${goodsList[0]}          //3.(假定goodsList为List对象)访问request范围中的goodsList的第一个元素

算术运算
${5/2} 或者 ${5 div 2}      //5除以2
${17%3} 或者 %{17 mod 3}    //17求余3
${1+2}                     //注意+无法实现两个字符串的拼接,只能做算术运算。

判空
${empty user1}          //user1==null或者user1==""的话,都会返回true。

逻辑关系运算
${10==10}  或者  ${10 eq 10}                   //返回true
${10!=10}  或者  ${10 ne 10}                   //返回false
${10<10}  或者  ${10 lt 10}                    //返回false
${10>=10}  或者  ${10 ge 10}                   //返回true
${ true && true } 等价 ${"true" && "true"}     //可知,字符串会转为Boolean进行处理。
${!true} 或者  ${not true} 

条件运算
${empty user1? "user1为null或空":user1}   //判断user1是否为空,然后输出对应的值。

 

(2)访问EL的隐含对象


1.获取页面上下文对象pageContext,可以访问jsp内置对象及其他们的属性值和方法。(request、response、out、session、application等)
注意:不可以通过pageContext对象获取保存到request范围内容变量。
${pageContext.response}                      //获取response对象
${pageContext.response.ContentType}          //获取返回响应的内容类型。
${pageContext.session}                       //获取session对象
${pageContext.session.maxInactiveInterval}  //获取session的有效时间的值

2.访问作用域范围的隐含对象
有四个:pageScope、requestScope、sessionScope、applicationScope
${pageScope.user.name}                           //获取页范围内的user对象的name属性值
${requestScope.user1}                            //如之前设置过<% request.setAttribute("user1","uuu"); %>
${sessionScope.user2}                           //如之前设置过<% session.setAttribute("user2","uuu"); %> 
${applicationScope.user3}                       //如之前设置过<% application.setAttribute("user3","uuu"); %>

 

(3)访问环境信息的隐含对象

有六个:param对象和paramValues对象、header和headerValues对象、iniParam对象、cookie对象
<% Cookie cookie = new Cookie("user","uuu"); //使用response对象设置一个请求有效地cookie对象。
response.addCookie(cookie); %>
${cookie.user.value} //再使用EL获取该cookie对象的值

 

 

posted @ 2016-12-14 23:47  hellozay  阅读(1219)  评论(0编辑  收藏  举报