JavaWeb——EL表达式
一、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表达式中自己定义的,可以直接使用。
- pageContext:类型为
PageContextImpl
,它可以获取jsp中的九大内置对象。 - pageScope:类型为
Map<String,Object>
,它可以获取pageContext域中的数据。 - requestScope:类型为
Map<String,Object>
,它可以获取Request域中的数据。 - sessionScope:类型为
Map<String,Object>
,它可以获取Session域中的数据。 - applicationScope:类型为
Map<String,Object>
,它可以获取ServletContext域中的数据。 - param:类型为
Map<String,String>
,它可以获取请求参数的值。 - paramValues:类型为
Map<String,String[]>
,它也可以获取请求参数的值,获取多个值的时候使用。 - header:类型为
Map<String,String>
,它可以获取请求头的信息。 - headerValues:类型为
Map<String,String[]>
,它可以获取请求头的信息,它可以获取多个值的情况。 - cookie:类型为
Map<String,Cookie>
,它可以获取当前请求的Cookie信息。 - initParam:类型为
Map<String,String>
,它可以获取在web.xml中配置的上下文参数。
4.1 四个表示域的对象
4.2 pageContext对象的使用
4.3 EL表达式其他隐含对象的使用
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.