EL表达式(Exprission language)

EL介绍

Expressive Language, JSP2.0引入,简化jsp开发中对对象的引用,(可以直接读取对象的属性,不需要像之前java脚本那样去做,比较繁琐),使得访问存储在JavaBean中的数据变得非常简单。

基本语法

${表达式}

常见用法

根据其访问对象,可大体分成三类:访问数据(javabean里面的数据)及其各种表达式访问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对象headerheaderValues对象iniParam对象cookie对象
<% Cookie cookie = new Cookie("user","uuu");   //使用response对象设置一个请求有效地cookie对象。
   response.addCookie(cookie);      %>
${cookie.user.value}                           //再使用EL获取该cookie对象的值

详情查看 :https://www.cnblogs.com/zadomn0920/p/javaweb.html

猜你喜欢

转载自www.cnblogs.com/helloqiufei/p/11056911.html