• 11.EL(表达式语言)


    一.EL概述

      EL(Expression Language,表达式语言)是JSP2.0 中引入的新内容。通过EL可以简化在JSP中对对象的引用,从而规范页面代码,增加程序的可读性和可维护性。

    1.EL的基本语法

      以“${”开头,以“}”结束

    ${expression}

      由于EL表达式的语法以“${”开头,所有如果在JSP页面显示“${”,必须在前面加上“”符号,即“${”。

    2.EL特点

      1.EL可以和JSTL结合使用,也可以和JavaScript使用;

      2.EL中会自动进行类型转换;

      3.EL不仅可以访问一般变量,还可以访问JavaBean中的属性以及嵌套属性和集合对象;

      4.EL中可以获得命名空间(PageContext对象,它是页面中所有其他内置对象的最大范围内的集成对象,通过它可以访问其它内置对象);

      5.EL中进行除法运算时,如果除数是0,则返回无穷大Infinity,而不返回错误;

      6.EL中可访问JSP的作用域(request、session、application以及page);

      7.扩展函数可以与Java的静态方法映射

    3.与低版本的环境兼容——禁用EL

      只要安装的Web服务器能够支持Servlet2.4/JSP2.0以上,就可以在JSP页面中直接使用EL。为了兼容以前版本,提供了禁用EL的三种方法

      1.使用斜杠“”符号(禁用单行语句)

    ${expression}

      2.使用page指令(禁用一个页面)

    <%@page isELIgnored="true"%>

      3.在web.xml文件中配置(禁用所有JSP页面)

    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <el-ihnored>true</el-ihnored>
        </jsp-property-group>
    </jsp-config>

     4.通过EL访问数据

      通过EL提供的"[]" 和 "."运算符可以访问数据,一般情况下二者可相互替换。但当对象属性名中含有一下特殊符号"-"和“.”时只能用“[]”。

    运算符

     

       EL中的“+”并不能连接两个字符串,如果使用该运算符连接两个不能转换为数值型的字符串,将会抛出异常。

    在EL中判断是否为空

    ${empty expression}  //返回布尔类型

    逻辑关系运算

    二.EL的隐藏对象

      为了获得Web应用程序中的相关数据,EL提供了11个隐藏对象,这些对象类似JSP的内置对象,也是直接通过对象名进行操作

    1.页面上下文对象

       页面上下文对象为pageContext,用于访问JSP内置对象(如request,response,out,session,exception,page等,但不能获取application,config和pageContext对象)和servletContext。这些属性与对象的getXXX()方法对应,在使用时,去掉方法名中的get,并将首字母改成小写即可。

    2.访问作用域范围的隐含对象

      EL中提供了4个用于访问作用域范围的隐含对象,即pageScope,requestScope,sessionScope和applicationScope。应用这4个隐含对象指定所要查找相应的标识符的作用域后,系统将不再按照默认的顺序(怕风,request,session,application)来查找相应的标识符。它们与JSP中的page,request,session,application内置对象类似,只不过这4个隐含对象只能用来取得指定范围内的属性值。

    3.访问环境信息的隐含对象

    三.定义和使用EL函数

    步骤:

      1.编写一个Java类,并在该类中编写公有的静态函数,用于实现自定义EL函数的具体功能;

      2.编写标签库描述文件,对函数进行声明。该文件的扩展名为.tld,被保存在WebContent / WEB-INF 文件夹下;

      3.在JSP页面中引用标签库,并调用定义的EL函数。

  • 相关阅读:
    C#编程概念系列内容索引
    Latin1_General_BIN
    C#编程概念系列(一):面向对象编程
    System.Web.HttpException: 为 ChartImg.axd 执行子请求时出错
    Excel导入数据到数据库
    C#编程概念系列(二):应用程序域
    ASP.NET 基础结构
    [博]留作证明是原创样式
    [整]网址搜集
    仅为调博客样式
  • 原文地址:https://www.cnblogs.com/astonc/p/11926720.html
Copyright © 2020-2023  润新知