• EL表达式概述
    • EL的最大特点是语法简单,使用方便,可以在模板中直接使用或给标签的属性赋值,能有效减少JSP脚本的数量
    • EL的基本格式:${表达式}
    • EL表达式主要在jsp页面中获取web域中的数据(例如:对象、数组、集合、Cookie等)
    • EL的使用环境:<%@ page isELIgnored=true|false%>其中:true值说明不能解析EL, false值则表示可以解析EL,不过JSP2.0起默认支持EL,通常可不设置
  • EL的基础语法
    • EL中常量
      • 布尔常量:只有true和false两个值
      • 整数常量:同Java中的整数,范围在Long.MIN_VALUE~Long.MAX_VALUE之间
      • 浮点常量:同Java中的浮点数,范围在Double.MIN_VALUE~Double.MAX_VALUE之间
      • 字符串常量:用双引号(“”)和单引号(‘’)括起来的一串字符。只有与分界符相同时,才需要进行转义(\”或\’)
      • Null常量:只有一个,即为null
    • EL中的常量
      • EL将“变量映射到一个对象”上,其中的变量不用先定义,而是直接使用,如果是隐式对象,则直接使用;若为非隐式对象,则依次在page、request、session、application中查找,若找不到,就返回null
    • EL对出错信息的处理
      • user对象不存在,${user}返回为空(非null),即使是${user.name}也是为空,不会抛出异常。但如果变量存在,但属性不存在,则抛出异常。
    • 自动类型转换
      • 例如:${param.count + 20},假若表单传来count的值为10时,那么上面的结果为30。这里面是类型String自动转换为int类型;
    • 基本运算符
      • 点号:通常用于访问对象的属性(如:${user.username})
      • 方括号[ ]:通常用于访问数组和集合元素(如:${paramValues.hobby[0]})
      • 点号.和方括号[ ]可以互用(如${sessionScope.user.sex}等同于${sessionScope.user[“sex”]})
      • 两者也是有区别:
        • 1、当要存取的属性名中包含一些特殊字符(非字母或数字符号),只能使用 [ ];
        • 2、当动态取值时,只能使用[ ](如:${sessionScope.user[data]},此时data 是一个变量,假若data的值为“sex”时,那么上一语句等同于${sessionScope.user.sex};
          假若data 的值为“name”时,它就等同于${sessionScope.user.name}。)
      • 其他运算符不作介绍了
    • 表达式内置对象11个
      • pageContext: 与JSP中的pageContext对象相同,可以获取其它对象
      • 与范围有关的隐含对象(4个):
        • pageScope:取得page范围的属性名所对应的值
        • requestScope:取得request范围的属性名所对应的值
        • sessionScope:取得session范围的属性名所对应的值
        • applicationScope:取得application范围的属性名所对应的值
        • 这4个隐含对象只能用来取得范围属性值,却不能取得其他相关信息
      • 与输入有关的隐含对象(2个):
        • param:按名称存储请求参数单一值的 Map 类
        • paramValues:请求参数的所有值构成的 String 数组
      • 获取web应用程序初始参数的隐含对象:initParamter
      • 获取Cookie对象的隐含对象:cookie
      • 获取Cookie对象的隐含对象:cookie
        • header:用于获取请求头的属性值
        • headerValues:用于获取请求头的属性值,其中属性值为数组
    • EL的自定义函数
      • 自定义函数开发步骤:
        • 开发函数处理类:函数处理类就是普通类,这个普通类中包含若干个public的静态方法,每个静态方法都可定义成一个函数。函数处理类就是包含需要暴露方法的类。
        • 使用标签库定义函数。
        • 在JSP页面中使用函数时也需要先导入标签库,然后再使用函数。
        • 例子说明:
          EL表达式简单介绍EL表达式简单介绍
          EL表达式简单介绍
          EL表达式简单介绍

相关文章: