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[]>

对应一组请求参数