1)简介
step1,导入standard.jar jstl.jar
step2,使用taglib指令导入要使用的jsp标签。<%@taglib uri="" prefix=""%>
uri:jsp标签的命名空间(就是一个字符串,只要做到唯一即可,不和其他标签重名, 所以一般使用公司的域名)
prefix: 命名空间的前缀
eg: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2)核心标签
a,if标签 jstl1.jsp<c:if test="" var="" scope="">
标签体
</c:if>
当test属性值为true,容器会执行标签体的内容。test属性可以使用el表达式赋值。
var属性:指定一个绑订名称,test表达式的结果为绑定值。
scope属性:指定绑订的范围(pageContext,request,session,application)。从小到大的范围。
<c:if test="${user.gender =='m'}" var="rs" scope="request">男</c:if>
<c:if test="${!rs}">女</c:if>
b,choose标签 <c:choose>
<c:when test=""></c:when>
...
<c:otherwise></c:otherwise>
</c:choose>
when表示一个处理分支,当test属性为true,会执行该分支。otherwise表示例外。when可以出现1次或者多次。otherwise可以出现0次或者1次。
<c:choose>
<c:when test="${user.gender == 'm'}">男</c:when>
<c:when test="${user.gender =='f'}">女</c:when>
<c:otherwise>未知</c:otherwise>
</c:choose>
c,forEach标签 用来遍历一个集合或者数组 <c:forEach var="" items="" varStatus="">
</c:forEach>
items属性:用来指定要遍历的集合,一般使用el表达式来赋值。
var属性:指定一个绑订名称,容器每次从集合当中取一个对象,然后绑订到pageContext对象上。
varStatus:指定一个绑订名称,绑订值是一个由容器创建的对象,该对象封装了当前迭代的状态:
getIndex():返回正在被迭代的对象的下标,下标从0开始。
getCount():返回是第几次迭代。从1开始。
<c:forEach items="${users}" var="user" varStatus="s">
<tr class="row${s.index % 2 + 1}">
<td>${s.count}</td>
<td>${user.name}</td>
<td>${user.age}</td>
</tr>
</c:forEach>
取map的值:
<c:forEach items="${map}" var = "m">
${m.key}---->${m.value}
</c:forEach>