经常用到的有c标签、fn标签、fmt标签
一、c标签
首先要在页面引入标签包: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
后台返回的list集合在前台判断是否为空,如果不为空和空串则遍历,否则显示“暂无数据”
<table class="tlist-table">
<thead><tr><td>类别</td><td>标题</td><td>状态</td><td>提交时间</td></tr></thead>
<tbody>
<c:if test="${not empty contents}">
<c:forEach items="${contents}" var="content" varStatus="i">
<c:if test="${i.count<=7}">
<tr>
<td>${content.contnamebak}</td>
<td>${content.contname}</td>
<c:if test="${content.contjudgenote!=null and content.contjudgenote=='1'}">
<td><span class="green">已解决</span></td>
</c:if>
<c:if test="${content.contjudgenote!=null and content.contjudgenote=='0'}">
<td><span class="red">未解决</span></td>
</c:if>
<td><fmt:formatDate value="${content.uploaddt}" pattern="yyyy.MM.dd" /></td>
</tr>
</c:if>
</c:forEach>
</c:if>
<c:if test="${empty contents}">
<tr><td colspan="4">暂无数据</td></tr>
</c:if>
</tbody>
</table>
其中contents是后台action中request作用域中的集合:request.setAttribute("contents", contents);
注意:
1、判断集合不是空的(集合的size大于0)${not empty 集合};判断结合为空(也就是集合长度为0) ${empty 集合};
2、标签中的“并且”用“and”而不支持“&&”,“或”用“||”;
3、没有<c:else>这个标签;
4、<c:forEach>中的属性varStatus的参数有以下几种:
current:当前这次迭代此集合中的项即当前对象
index:当前这次迭代从0开始的迭代索引
count:当前这次迭代从1开始的迭代计数
first:用来表明当前这轮迭代是否是第一次迭代的标志(只有列表第一条记录为true,后面的都返回false)
last:用来表明当前这轮迭代是否是最后一次迭代的标志(只有列表最后一条记录为true,前面的都返回false)
5、<c:forEach>中的属性
begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开 始迭代。它的类型为整数。
end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类 型也为整数。
step:步长,遍历间隔数
例子:要遍历前10条记录,则设置begin="0" end="9" step="1"或用varStatus中的count来限制
二、fn标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
是否包含某字符串:${fn:contains(对象.属性, '被包含的字符串')}"
集合长度:${fn:length(集合)}-->输出int值
三、fmt标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
格式化时间:<fmt:formatDate value="${serviceaccept.currentdate}" pattern="yyyy.MM.dd" />,其中的currentdate为Date类型的
后台是这样的:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String currentDate = df.format(new Date());
对象.setCurrentdate(currentDate);