JavaWeb课程系列
第10章 EL表达式
1.提出问题
在JSP页面上获取域对象中保存的数据和获取请求参数数据是非常常用的操作。
获取请求域中的数据
<%=request.getAttribute("message") == null ? "" : request.getAttribute("message") %>
获取请求参数
<%=request.getParameter("userName")==null? "": request.getParameter("userName")%>
有没有什么办法能够让上述代码简洁一些呢?有!
获取请求域中的数据
${requestScope.message }
获取请求参数
${param.userName }
这就是EL表达式,它能够极大的简化JSP页面上数据的显示。
2. el简介
1)EL全名为Expression Language,它可以在JSP页面上可以直接使用
格式:${表达式内容 }
例如:
2)EL表达式的功能
获取请求参数并显示
- 当前请求参数没有获取到时返回空字符串,而不是null。这样做的好处是空字符串在网页上是没有任何显示的,不必特殊处理。
读取4个域对象属性值
- 读取不到时返回空字符串而不是null。
3.el隐含对象
el能获取域的值,到底能获取那些域的值,我们来探索一下。
EL中有7个常用的对象可以直接使用
隐含对象 |
类型 |
说明 |
pageContext |
javax.servlet.jsp.PageContext |
就是JSP页面上的pageContext |
pageScope |
java.util.Map<String,Object> |
Page范围属性名和属性值 |
requestScope |
java.util.Map<String,Object> |
Request范围属性名和属性值 |
sessionScope |
java.util.Map<String,Object> |
Session范围属性名和属性值 |
applicationScope |
java.util.Map<String,Object> |
Web应用范围属性名和属性值 |
param |
java.util.Map<String,String> |
对应一个请求参数 |
paramValues |
java.util.Map<String,String[]> |
对应一组请求参数 |