<c:forEach>标签
<c:forEach>是一种基本的迭代标签,接受许多不同的集合类型,并支持子集和其他功能.
属性列表:
Name | Required | Request-time | Type | Description |
items | false | true | java.lang.Object | 要被循环的集合 |
begin | false | true | int | 如果指定了items属性: 从指定的索引开始迭代, 集合第一个元素的索引是0; 如果没有指定items属性: 迭代从索引集指定的值开始. |
end | false | true | int | 如果指定了items属性: 迭代将结束于指定的索引号对应的集合元素(包括该元素); 如果没有指定items属性: 迭代将在达到指定的索引值时结束. |
step | false | true | int | 迭代会切仅会处理集合中每隔step个元素, 从集合第一个元素开始. |
var | false | false | java.lang.String | 代表当前条目的变量名称.此作用域变量具有嵌套可见性.它的类型取决于底层集合的对象. |
varStatus | false | false | java.lang.String | 代表循环状态的变量名称. 此作用域变量是一个javax.servlet.jsp.jstl.core.LoopTagStatus对象,具有嵌套可见性 |
示例:
计数循环
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:forEach 标签实例</title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
Item <c:out value="${i}"/><p>
</c:forEach>
</body>
</html>
遍历集合
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:forEach 标签实例</title>
</head>
<body>
JSTL中的循环c:forEach标签(ArrayList:显示简单类型):
<c:forEach items="${al_simple_string}" var="item">
${item}<br>
</c:forEach>
JSTL中的循环c:forEach标签(ArrayList:显示复杂类型):
<c:forEach items="${al_simple_bean}" var="item">
${item['username']}<br>
</c:forEach>
</body>
</html>
<c:forTokens>标签
<c:forTokens> 用于浏览字符串,并根据指定的定界符截取字符串.
属性列表:
属性值可参考forEach标签. forTokens特有一个delims必要属性,用来指定分割字串的定界符.
示例:
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSTL: -- forTokens标签实例</title>
</head>
<body>
<c:out value = "forToken实例"/>
<hr>
<c:forTokens items = "北、京、欢、迎、您" delims = "、" var = "c1">
<c:out value = "${c1}"/>
</c:forTokens>
<br>
<c:forTokens items = "123-4567-8854" delims = "-" var = "t">
<c:out value = "${t}"/>
</c:forTokens>
<br>
<c:forTokens items = "1*2*3*4*5*6*7" delims = "*" begin = "1" end = "3" var = "n" varStatus = "s">
<c:out value = "${n}"/>的四种属性:<br>
所在位置,即索引:<c:out value = "${s.index}"/>
<br>
总共已迭代的次数:<c:out value = "${s.count}"/>
<br>
是否为第一个位置:<c:out value = "${s.first}"/>
<br>
是否为最后一个位置:<c:out value = "${s.last}"/>
<br>
</c:forTokens>
</body>
</html>