EL表达式
基本概念
EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据并输出。
主要功能
- 访问
pageContext
、request
、session
和application
作用域对象存储的数据。 - 获取请求参数值。
- 访问
Bean
对象的属性。 - 访问集合中的数据。
- 输出简单的运算结果。
访问内置对象的数据
- 普通方式实现:
<%=request.getAttribute("varName")%>
- EL实现:
${ varName }
访问请求参数的数据
- 普通方式实现:
request.getParameter(name)
request.getParameterValues(name)
- EL表达式实现:
${param.name}
param
:接收的参数只有一个值
${paramValues.hobby[0]}
paramValues
:接受的参数有多个值
访问Bean对象的属性
- 访问方式一:
${对象名.属性名}
,例如:${user.name}
- 访问方式二:
${对象名["属性名"]}
,例如:${user["name"]}
- 主要区别:
- 当要存取的属性名中包含一些特殊字符,如:
.
或,
等并非字母或数字的符号,就一定要使用[]
而不是.
的方式 - 使用
[]
的方式可以动态取值,具体方式如下:
- 当要存取的属性名中包含一些特殊字符,如:
<%
request.setAttribute("prop", "age");
%>
<!-- 相当于表达式中写了一个变量 -->
${ user[prop] }
访问集合中的数据
- 举个栗子:
${student[0].name}
(student
为ArrayList
类型的对象)
JSTL标签
基本概念
JSTL( JSP Standard Tag Library ) 被称为JSP标准标签库。
开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。
使用方式
- 下载JSTL的jar包并添加到项目中,下载地址:https://tomcat.apache.org/download-taglibs.cgi
- 使用前需要在JSP页面中引入JSTL标签库,在IDEA开发环境中,可直接使用,IDEA会自动引入。
常用核心标签
- 输出标签:
<c:out></c:out>
(输出指定内容) - 设置标签:
<c:set></c:set>
(设置属性) - 删除标签:
<c:remove></c:remove>
(删除指定数据) - 单条件判断标签:
<c:if test ="EL条件表达式">
满足条件执行的内容
</c:if >
- 多条件判断标签:
<c:choose>
<c:when test="EL表达式">
满足条件执行的内容
</c:when>
…
<c:otherwise>
不满足上述when条件时执行的内容
</c:otherwise>
</c:choose>
- 循环标签
<c:forEach var="循环变量" items="集合">
循环体
</c:forEach>