JSTL
1、简介
- 全称:JSP Standard Tag Library(jsp标准标签库)
- JSTL主要是以html形式,表达java的语义。
- JSTL一共有五大功能,常用核心、格式化、函数。
2、JSTL使用准备工作
(1)导入两个jar包
- taglibs-standard-impl-1.2.5
- taglibs-standard-spec-1.2.5
(2)引入标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3、通用标签
①out标签
功能类似于JSP表达式<%= >和EL表达式${},可以设置的属性:
value作用:要输出的值,参数类型:Object;
default作用:当value为null时显示的默认值。参数类型:Object;
escaXml作用:是否对特殊字符进行转义。参数类型:boolean;
例如:
<c:out value="${user.name}" default ="" escapeXml="true"></c:out>
②set标签
用于添加或修改域中的属性:
value作用:要设置的值 参数类型:Object
var作用:表示域中存放的属性名。参数类型:String
scope作用:指定域(page、request、session、application),若不指定则为page 参数类型:String
target作用:要修改的域对象的属性名(必须时JavaBean或者Map)
参数类型:String
property作用:指定要修改的对象的属性名 参数类型:String
例
设置属性
<c:set var="key" value="value" scope="request"></set>
修改属性
<c:set property="name" target=“${user}” value="swk"></c:set>
③remove标签
(1)移除所有域中key属性:<c:remove var=“key”/>
(2)移除request中的key属性: <c:remove var="key scope=“request”/>
4、流程控制
4.1、选择结构
(1)if
<c:if test="${empty user }" var="isUserEmpty" scope="request">
用户为空
</c:if>
(2)choose-when&otherwise
<c:choose>
<c:when test="${param.age>60 }">
老年
</c:when>
<c:when test="${param.age>40 }">
中年
</c:when>
<c:when test="${param.age>18 }">
青年
</c:when>
<c:otherwise>
未成年
</c:otherwise>
</c:choose>
4.2、循环结构
普通循环
<c:forEach var="i" begin="0" end="10" step="2">
${i } 
</c:forEach>
增强循环
<c:forEach items="${requestScope.list }" var="stu">
name:${stu.name }->age:${stu.age }->gender:${stu.gender }<br>
</c:forEach>