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

     

    EL简介

       EL是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。

       EL表达式用于代替JSP表达式(<%= %>)在页面中做输出操作。

       EL表达式仅仅用来读取数据,而不能对数据进行修改。

        使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出。

    EL基本使用

       EL表达式总是放在{}中,而且前边有一个$作为前缀。

        ${EL表达式}

       获取域中的对象可以直接使用对象名,如获取域中名字为user的对象

        ${user}

       获取对象的属性值可以直接通过“对象.属性名”

          ${user.name}

         ${user.age}

      注意:这里的属性名是get和set方法对应的属性值,并不是对象中的变量名

           比如:如果获取name属性值,那么该对象中必定要存在一个getName()方法。

     

        获取对象的属性也可以通过“对象[“属性名”]”

           ${user[“name”]}

           ${user[“age”]}

     

         获取Map中属性时可以以直接通过属性的key

           ${map.key}

           ${map[key]}

     

      在指定域中获取属性

         在EL表达式中如果我们直接使用属性名如:${user},它将会在四个域中由小到大依次查找。顺序:pageScope、requestScope、sessionScope、applicationScope。

         也可以指定从哪个域中获取:

           ${ pageScope .user}:当前页面

           ${requestScope.user}:当前请求

           ${sessionScope.user}:当前会话

           ${sessionScope.user}:当前应用

    EL隐含对象

     EL中包含11个隐含对象,这些对象可以在EL表达式中直接使用。

      请求域

       请求域主要用于获取域对象中的属性,四个对象分别对应四个请求域。

        pageContext
          类型 PageContext
          它和JSP中pageContext是一个东西
          作用 可以获取到JSP中其他的隐含对象
          例如:可以获取项目名:
          ${pageContext.request.contextPath }

        pageScope
          类型:Map<String,Object>
          代表:page域中的属性
          作用:可以获取到page域中的属性

         requestScope
          类型:Map<String,Object>
          代表:request域中的属性
          作用:可以获取到request域中的属性

         sessionScope
          类型:Map<String,Object>
          代表:session域中的属性
          作用:可以获取到session域中的属性
      
         applicatScope
          类型:Map<String,Object>
          代表:application域中的属性
          作用:可以获取到application域中的属性

      请求参数

      参数对象主要用于获取get或post请求中的参数。

        param
          类型: Map<String , String>
          代表:用户发送的请求参数
          作用:可以获取请求参数
          用法: ${param.参数名}

        paramValues
          类型:Map<String , String[]>
          代表:一个请求参数对应的多个值
          用法: ${paramValues.参数名[索引]}

      其他

        header
          作用:可以获取到用户发送的请求头
          类型:Map<String , String>
          例如:获取用户的系统信息 ${header['User-Agent']}


           headerValues
          类型: Map<String , String[]>
          作用:可以获取一个头的多个值

        initParam;
          类型:Map<String , String>
          作用:获取整个WEB应用的初始化参数

          cookie
          类型:Map<String , Cookie>
          作用:用来获取Cookie

    EL逻辑运算

    运算符

    说明

    范例

    结果

    +

    ${17+5}

    22

    -

    ${17-5}

    12

    *

    ${17*5}

    85

    /或div

    ${17/5}或${17 div 5}

    3

    %或mod

    取余

    ${17%5}或${17 mod 5}

    2

    ==或eq

    等于

    ${5==5}或${5 eq 5}

    true

    !=或ne

    不等于

    ${5!=5}或${5 ne 5}

    false

    <或lt

    小于

    ${3<5}或${3 lt 5}

    true

    >或gt

    大于

    ${3>5}或${3 gt 5}

    false

    <=或le

    小于等于

    ${3<=5}或${3 le 5}

    true

    >=或ge

    大于等于

    ${3>=5}或${3 ge 5}

    false

    &&或and

    并且

    ${true&&false}或${true and false}

    false

    !或not

    ${!true}或${not true}

    false

    ||或or

    或者

    ${true||false}或${true or false}

    true

    empty

    是否为空

    ${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty “”}

    true

  • 相关阅读:
    linux php安装ODBC扩展
    linux wget变成000权限
    linux tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    字符串的操作, 日期格式, 数据转换, 模糊查询
    Oracle控制结构
    创建角色,用户,视图,索引,分析计划
    Oracle用触发器解决修改主表A主键值,从表的外键值也会跟着改变的问题
    行为科学统计第17章--回归
    行为科学统计第13-15章
    行为科学统计第12章
  • 原文地址:https://www.cnblogs.com/alternative/p/7354190.html
Copyright © 2011-2022 走看看