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

    EL的作用

      EL(Expression Language)是一门表达式语言,替换Java脚本<%=…%>

    <%=  %> 有以下问题

    • 如果获取到数据null, 直接null在页面显示
    • 获取域中的数据, 必须通过域对象.方法获取
    • 需要进行逻辑判断
    • 代码不美观,非Java人员不方便交流

    注意:EL对null进行处理, 如果是null,不显示

    EL的格式

    格式:${…}
    例如:${1 + 2}

    关闭EL

    如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored=”true”。

    如果希望忽略某个EL表达式,可以在EL表达式之前添加“”,例如:${1 + 2}。

    empty运算符(是否为空)

      ${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。(存在返回false)

      empty还可以与not或!一起使用。${not empty “”}

    empty()函数内的变量在以下情况会返回true:

    • 1)布尔值false;
    • 2) 整型值0;
    • 3) 浮点型值0.0;
    • 4)空白字符串;
    • 5)字符串‘0’;
    • 6)array()空数组。
    • 7)特殊数据类型NULL。
    • 8)没有任何属性的对象。
    • 9)没有赋值的变量。

    EL表达式的内置对象:

      EL一共11个内置对象,无需创建即可以使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。

    • pageScope               page域
    • requestScope           request域
    • sessionScope           session域
    • applicationScope      application域
    • param;                   获取请求参数     一个name 一个值 
    • paramValues;        获取请求参数, String[ ]  一个name对应多个值
    • header;                  获取请求头的属性
    • headerValues;       获取请求的属性, 一个属性名对应多个值
    • initParam;              获取初始化参数
    • cookie;                   获取cookie
    • pageContext;         一个抵10个, 获取真实的request对象,response对象,...(可拿到所有的对象)

    EL 最常用的,就是获取域中的数据,  ${属性名}前面的requestScope(域对象)可以省略

    1) 获取域中的数据  (重点)***

        获取指定域中的数据:  域内置对象.属性名

    全域查找:  ${属性名}从域的小范围到大范围

           首先从page域查找, 如果page域找到, 直接返回page域的数据

           如果page域没有, 去request域查找, 如果找到, 返回request域的数据

           如果request域没有, 去session域查找, 如果找到, 返回session域的数据

           如果session域没有, 去application域查找, 如果找到, 返回application域的数据

           如果application域没有, 返回null   null不显示

    2)请求参数相关内置对象

      param:Map<String,String>类型,与request.getParameter()方法相同。

      paramValues:paramValues是Map<String, String[]>类型,当一个参数名,对应多个参数值时(例:复选框)

    3)请求头相关内置对象

      header: Map<String,String>类型,用来获取请求头。

      headerValues:headerValues是Map<String,String[]>类型。当一个请求头名称,对应多个值

    4)应用初始化参数相关内置对象

      initParam:initParam是Map<String,String>类型。它对应web.xml文件中的<context-param>参数。

    <!--初始化参数-->
    <context-param>
            <param-name>encoder</param-name>
            <param-value>UTF-8</param-value>
    </context-param>

    5)Cookie相关内置对象

      cookie:cookie是Map<String,Cookie>类型,其中key是Cookie的名字,而值是Cookie对象本身。

    6)pageContext对象

      常用方法:${pageContext.request.contextPath}  获取项目名

      等同于<%=request.getContextPath() %>

  • 相关阅读:
    编译原理基础知识---文法和语言(一)
    编译原理简单知识总结(一)---编译程序和解释程序
    python网络编程
    博客声明
    v4l2编程
    Linux中的虚拟文件系统
    linux 内核文件中Makefile、kconfig、.config的关系(SDK结构)
    shell编程---find命令
    springcloud、springboot 版本号解析
    List<Map<String, Object>> 与 json 互转
  • 原文地址:https://www.cnblogs.com/64Byte/p/12890942.html
Copyright © 2011-2022 走看看