zoukankan      html  css  js  c++  java
  • 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对象的值

     

  • 相关阅读:
    电脑休眠真是神一样
    用visual studio 2017来调试python
    判断两个字符串是不是异位词
    算法题思路总结和leecode继续历程
    今日头条笔试题目,还是没过.效率不够
    The init method
    Object-oriented features
    Modifiers
    Pure functions
    Classes and functions
  • 原文地址:https://www.cnblogs.com/zadomn0920/p/javaweb.html
Copyright © 2011-2022 走看看