el表达式是jsp内置的表达式语言,jsp从jsp2.0开始,就不再提倡使用java脚本,而是用el表达式和动态标签来替代,而el表达式主要替代的是jsp中的<%=....%>,也就是说el表达式只做输出.
EL表达式来读取四大域:
-
-
- ${xxx} : 全域查找名为xxx的属性,如果不存在,输出空字符串,而不是null
- pageScpoe.xxx,pageScpoe.xxx,{requestScpoe.xxx},sessionScpoe.xxx,sessionScpoe.xxx,{applicationScpoe.xxx} 查找指定域的名为xxx的属性,注意Scope必须写.
-
EL表达式可做javabean导航:
${requestScope.user.name}相当于调用了requset.getAttribute("user").getName();
EL表达式有11个内置对象,上面已经介绍了四个:
-
-
- pageScope
- requestScope
- sessionScope
- applicationScope
- param 获取类型为Map<String,String>类型的参数
- paramValues 获取类型为Map<String,String[]>类型的参数
- header 对应请求头,单值
- headerValues 对应请求头,多值 与上面两个相同
- initParam 获取web.xml中配置的context-param中的参数
- cookie Map<String,cookie>类型 (cookie.JSESSIONID)得到的是一个cookie对象,(cookie.JSESSIONID)得到的是一个cookie对象,(cookie.JSESSIONID.value)得到的才是JSESSIONID的值
- pageContext 是一个pageContext对象,${pageContext.request.contextPath}得到的是当前项目名
-