zoukankan      html  css  js  c++  java
  • EL表达式

    什么是EL表达式?


     EL(Expression Language) 目的:为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。

     

    .EL表达式怎么用?

    语法结构


    ${expression}

    [ ]与.运算符


    EL 提供“.“和“[ ]“两种运算符来存取数据。

    包含特殊字符

    当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非字母或数字的符号,就一定要使用“[ ]“。例如:
    ${ user. My-Name}应当改为${user["My-Name"]}
     
     
    动态取值
    如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
    ${sessionScope.user[data]}中data 是一个变量
     

     

    变量


    EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。

    因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
     
    假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null
     
     

    操作符


    术语
    定义
    算术型
    +、-(二元)、*、/、div、%、mod、-(一元)
    逻辑型
    and、&&、or、||、!、not
    关系型
    ==、eq、
    !=、ne、
    lt、gt、
    <=、le、
    >=、ge。
    可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。
    empty 空操作符是前缀操作,可用于确定值是否为空。
    条件型
    A ?B :C。根据 A 赋值的结果来赋值 B 或 C。
     
     
     
     

    隐式对象


    术语
    定义
    param
    将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter (String name) 获得)。getParameter (String) 方法返回带有特定名称的参数。表达式 ${param . name}相当于 request.getParameter (name)。
     
    JSP URL : 127.0.0.1:8080/login?id=1
     
    JSP: ${param.id}
    paramValues
    将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues. name} 相当于 request.getParamterValues(name)。
    header
    将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式 ${header. name} 相当于 request.getHeader(name)。
    headerValues
    将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式 ${headerValues. name} 相当于 request.getHeaderValues(name)。
    cookie
    将 cookie 名称映射到单个 cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式 ${cookie. name .value} 返回带有特定名称的第一个 cookie 值。如果请求包含多个同名的 cookie,则应该使用 ${headerValues. name} 表达式。
    initParam
    将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。
     
     
     

    访问范围的变量


    术语
    定义
    pageScope
    将页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope .objectName. attributeName} 访问对象的属性。
    requestScope
    将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL 表达式可以使用 ${requestScope. objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope. objectName. attributeName} 访问对象的属性。
     

    后台:request.setAttribute("name", "zhangsan");

     

    JSP: ${requestScope.name}

     

    sessionScope
    将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例如:
    ${sessionScope. name}
    applicationScope
    将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象
    pageContext
    JSP 页的上下文。它可以用于访问 JSP 隐式对象,如请求、响应、会话、输出、servletContext 等。例如,${pageContext.response} 为页面的响应对象赋值。

    转自:http://www.cnblogs.com/tingbogiu/p/5829010.html

  • 相关阅读:
    vue-fullcalendar插件
    iframe 父框架调用子框架的函数
    关于调试的一点感想
    hdfs 删除和新增节点
    hadoop yarn 实战错误汇总
    Ganglia 安装 No package 'ck' found
    storm on yarn(CDH5) 部署笔记
    spark on yarn 安装笔记
    storm on yarn安装时 提交到yarn失败 failed
    yarn storm spark
  • 原文地址:https://www.cnblogs.com/dsitn/p/7396102.html
Copyright © 2011-2022 走看看