由于项目需要,重新学习了下jstl,用于后续在jsp页面中绑定数据。
- 环境依赖
Servlet 2.4且JSP 2.0以上
-
<%@ taglib %>引入标签库:
1)、以classPath中,加入jar包: standard-1.1.2.jar , jstl-1.1.2.jar
2)、在相目\WEB-INF\tld\文件夹中放入常用的tld文件:c.tld,fmt.tld
3)、在jsp文件的顶部加入以下内容:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
3.具体写法
- <c:>核心标签库
JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect
- <c:forEach> 标签
<c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>
本体内容
</c:forEach>
<c:forEach items="${domainList }" var="item">
<tr>
<td align="center" valign="middle">${item["domain"]==null?" ":item["domain"]}</td>
<td align="center" valign="middle"><fmt:formatDate value="${item['bind_date']}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td align="center" valign="middle">
<c:if test="${item['domain']!=null}">
<a href="javascript:;" id="${item['domain']}" class="del"> </a>
</c:if>
</td>
</tr>
</c:forEach>
- <c:out> 标签
<c:out value="value" [escapeXml="{true|false}"]>
default value
</c:out>
一般来说,<c:out>默认会将<、>、’、” 和 & 转换为 <、>、'、" 和&。假若不想转换时,只需要设定<c:out>的escapeXml属性为fasle就可以了。
- <c:if> 标签
<c:if test="${not empty item.publish_time}">
内容
</c:if>
<c:if test="${item['domain']!=null}">
内容
</c:if>
<c:if test="${!empty permissionMap}">
内容
</c:if>
- <c:choose> <c:when> <c:otherwise> 标签
<c:set var="score">85</c:set>
<c:choose>
<c:when test="${score>=90}">
你的成绩为优秀!
</c:when>
<c:when test="${score>=70&&score<90}">
您的成绩为良好!
</c:when>
<c:when test="${score>60&&score<70}">
您的成绩为及格
</c:when>
<c:otherwise>
对不起,您没有通过考试!
</c:otherwise>
</c:choose>