zoukankan      html  css  js  c++  java
  • JSP/Servlet Web 学习笔记 DaySix —— EL表达式

    1)EL从scope中得到参数时可以自动转换类型,因此对于类型转换的限制更加宽松。

    2)使用EL表达式,可以简化变量和对象的访问。

    3)EL表达式必须以  ${XXXX}   来表示。

    4)EL提供点(.)和方括号([])两种运算符来存取数据。点和方括号可以实现某种程序的互换。

      例如:${student.name}等价与${student["name"]}

    5)如果要动态取值,就可以用[],而.无法做到动态取值。

      例如:${sessionScope.student[data]}中data是一个变量。

    6)EL存取变量的方法很简单,例如${username}。它表示在某一范围内取出名字为username的变量。

      因没有指定范围,所以他会依次从page、request、session、application范围查找,找到则返回值,否则就返回null。

    7)EL范围查值,需要EL隐含对象的帮助,分别有pageScope(pageContext)、requestScope(request)、sessionScope(session)

      applicationScope(application),括号内时与他们基本相同的JSP元素。

      例如:要在Session中取得一个username的属性值,则可以使用

      session.getAttribute("username")  or  ${sessionScope.username}

    8)而request.getParameter(String name)、request.getParameterValues(String name)对应的为

      ${param.name}

      ${paramValues.name}

    9)EL操作符

      1.算术运算符:+、—、*、/ or div、% or mod

       例如:

    2+3+4+(5+6)/(6*2)=${2+3+4+(5+6)/(6*2)}

    输出结果:
    2+3+4+(5+6)/(6*2)=9.92

      2.关系运算符:== or eq 、 != or ne 、< or lt 、> or gt 、<= or le 、 >= or ge。

      例如:

    3=4 ?  result: ${3==4}
    
    
    输出结果为:
    3=4 ?  result: false

      3.逻辑运算符: && 、|| 、!

      4.验证运算符: empty 、 ?

      empty作为前缀,用来检索一个值是否为null或者empty。

      ?的格式为  ${条件?truevalue:falsevalue}

      若条件满足,则返回truevalue否则falsevalue,value值可自定。

    ${empty user.name}
    ${user.name==null? truevalue:falsevalue}

    10)EL获取Cookie中的值:${cookie.username}

    11)EL获取header(储存用于浏览器和服务器用来沟通的数据):${header["User-Agent"]}

      若同一标头名拥有不同的值,需采用headerValues。

    12)EL取得设定Web站点的环境参数(Context):${initParam.userid}

      对应的常用方法:String userid=(String)application.getInitParameter("userid");

    13)EL取得其他有关用户要求或页面信息:

      请求参数字符:${pageContext.request.queryString}

      请求URL,不包括请求参数字符串:${pageContext.request.requestURL}

      Web application全名:${pageContext.request.contextPath}

      Http方法(post or get):${pageContext.request.method}

      使用的协议(Http/1.1、Http/1.0):${pageContext.request.protocol}

      用户名称:${pageContext.request.remoteUser}

      用户IP:${pageContext.request.remoteAddr}

      session是否为新:${pageContext.session.new}

      sessionID:${pageContext.session.id}

      主机端服务信息:${pageContext.servletContext.serverInfo}

    作者:Rekent
    出处:http://www.cnblogs.com/rekent/
    本文版权归作者和博客园共有,欢迎转载、点赞,但未经作者同意必须保留此段申明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    java中引用数据类型Scanner类和Random类的使用-0509
    java中运算符的理解-0509
    MySQL-ER图
    MySQL-习题
    《大型网站技术架构:核心原理与案例分析》笔记
    rabbitmq php测试使用
    gearman管理工具GearmanManager的安装与使用
    让PHP7达到最高性能的几个Tips
    linux下查看最消耗CPU、内存的进程
    Gearman分布式任务处理系统
  • 原文地址:https://www.cnblogs.com/rekent/p/6963208.html
Copyright © 2011-2022 走看看