JavaWeb之EL表达式
1、提出问题
在JSP页面上获取域对象中保存的数据和获取请求参数数据是非常常用的操作。

2、el简介
1)EL全名为Expression Language,它可以在JSP页面上可以直接使用
格式:${表达式内容 }
例如财睡:

3、2)EL表达式的功能
获取请求参数并显示
●当前请求参数没有获取到时返回空字符串,而不是null。这样做的畜娃好处是空字符串在网页上是没有任何显示的,不必特殊处理。
读取4个域对象属性值
●读取不到时返回空字符串而不是null。
4、el隐含对象
el能获取域的值,暗伐扬到底能获取那些域的值,我们来探索一下。
EL中有7个常用的对象可以直接使用

5、el隐含对象解析
1)pageContext
它是代表当前页面的PageContext对象,通过它的get方法可以得到jsp中的其它八大隐含对象
6、2)四个域对象所对应的隐含对象:
①Map<String, Object> pageScope——对应pageContext域 ${ pageScope . username }
②Map<String, Object> requestScope——对应request域 ${ requestScope. username }
③Map<String, Object> sessionScope——对应session域 ${ sessionScope. username }
④Map<String, Object> applicationScope——对应application域 ${ applicationScope. username }
7、3)请求参数数据 param
Map<String, String> param:
保存的是请求参数的key--value(value只有一个),input ${ param. username }
Map<String, String[]> paramValues:
保存的是请求参数的key--value(value有多个),checkbox ${ paramValues. username }
8、5. el取值方式
1)使用“点”
如果对象是map类型对象: map.keyName -->得到对应的value值
实质: map.get(keyName)
如果对象是一般对象 : object.propertyName ---> 得到对就的属性值
实质是: object.getXxx()

9、2)使用“[]”
map的键有时包含“点”,这时就不能再使用“点”取值了。
例如:

10、el表达式运算
1) 算术运算:${5+3}
2) 关系运算: ${5>3}
3) 逻辑运算: ${true&&false}
4) empty运算:${empty requestScope.emp }
①null
[1]变量的值是null
[2]域对象中不存在这个变量
②空集合
③空数组
④ 空字符串
⑤ 空字符
5)三目条件运算: ${16<5?'a':"big" }

11、获取项目虚拟路径
1)获取request对象${pageContext.request }
2)获取contextPath${pageContext.request.contextPath }