一、EL表达式

1. EL表达式基本概念

  • EL表达式的全称是:Expression Language。是表达式语言。EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出。因为EL表达式在输出数据的时候,要比jsp的表达式脚本要简洁很多。
  • EL表达式的格式是:${表达式},EL表达式在输出null值的时候,输出的是空串。jsp表达式脚本输出null值的时候,输出的是null字符串。

2. EL表达式搜索域数据的顺序

  • EL表达式主要是在jsp页面中输出数据。主要是输出域对象中的数据。当四个域中都有相同的key的数据的时候,EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
  • EL表达式输出Bean的普通属性,数组属性,List集合属性,map集合属性。
  • 输出一个类的属性,要求其有get方法。

3. EL表达式运算

  • 语法:${运算表达式} ,EL表达式支持如下运算符。
  • empty运算:empty运算可以判断一个数据是否为空,如果为空,则输出true,不为空输出false。
    • 值为null值的时候,为空。
    • 值为空串的时候,为空。
    • 值是Object类型数组,长度为零的时候。
    • list集合,元素个数为零。
    • map集合,元素个数为零。
  • 三元运算:表达式 1?表达式 2:表达式 3,如果表达式1的值为真,返回表达式2的值,如果表达式1 的值为假,返回表达式3的值。

4. EL表达式的11个隐含对象

  • EL个达式中11个隐含对象,是EL表达式中自己定义的,可以直接使用。
  1. pageContext:类型为PageContextImpl,它可以获取jsp中的九大内置对象。
  2. pageScope:类型为Map<String,Object>,它可以获取pageContext域中的数据。
  3. requestScope:类型为Map<String,Object>,它可以获取Request域中的数据。
  4. sessionScope:类型为Map<String,Object>,它可以获取Session域中的数据。
  5. applicationScope:类型为Map<String,Object>,它可以获取ServletContext域中的数据。
  6. param:类型为Map<String,String>,它可以获取请求参数的值。
  7. paramValues:类型为Map<String,String[]>,它也可以获取请求参数的值,获取多个值的时候使用。
  8. header:类型为Map<String,String>,它可以获取请求头的信息。
  9. headerValues:类型为Map<String,String[]>,它可以获取请求头的信息,它可以获取多个值的情况。
  10. cookie:类型为Map<String,Cookie>,它可以获取当前请求的Cookie信息。
  11. initParam:类型为Map<String,String>,它可以获取在web.xml中配置的上下文参数。

4.1 四个表示域的对象

4.2 pageContext对象的使用

4.3 EL表达式其他隐含对象的使用