天天看点

Jsp标签之<c:forEach>

<for:each>标签的两种语法:

1.迭代包含多个对象的集合

<c: forEach [” varName”] items=”collection”[varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”] >
body content
</c:forEach>
           

2.迭代指定范围内的集合

<c:forEach [var=”varName”] [varStatus=”varStatusName”]begin=”begin” end=”end” [step=”step”]>
       bodycontent
</c:forEach>
           

(1)var苏醒用于指将当前迭代到的元素保存到page域中的名称

(2)items属性用于指定将要迭代的集合对象

(3)varStatus用于指定当前迭代状态信息的对象保存到page域中的名称

(4)begin属性用于指定从集合中的第几个元素开始进行迭代,beigin的索引值从0开始,如果没有指定items属性,就从begin指定的值开始迭代,知道迭代结束为止。

(5)step属性用于指定迭代的步长.

<c:foreach>标签的varStatus属性用于设置一个javax.servlet.jsp.jstl.core.LoopTagStatus类型的变量,这个变量包含从集合中取出元素的状态信息。使用<c:foreach>标签的varStatus属性可以获取一下信息:

(1)count:表示元素在集合中的序号,从1开始计数。

(2)index:表示当前元素在集合中的索引,从0开始计数。

(3)first:表示当前是否为集合中的第一个元素。

(4)last:表示当前是否为集合中的最后一个元素。

<%@ page language="java" contentType="text/html; charset=UTF-8" 
	import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
  <head>    
    <title>foreach标签</title>	
  </head>
  
  <body style="text-align: center;">
  	<%
  		List userList = new ArrayList();
  		userList.add("Tom");
  		userList.add("Mike");
  		userList.add("Lina");
  	 %>
  	 <table  >
  	 	<tr>
  	 		<td>序号</td>
  	 		<td>索引</td>
  	 		<td>是否为第一个元素</td>
  	 		<td>是否为最后一个元素</td>
  	 		<td>元素的值</td>
  	 	</tr>
  	 	
  	 	<c:forEach var="name" items="<%=userList %>" varStatus="status">
	  	 	<tr>
	  	 	  	<td>${status.count }</td>
	  	 		<td>${status.index }</td>
	  	 		<td>${status.first }</td>
	  	 		<td>${status.last }</td>
	  	 		<td>${name }</td>
	  	 	</tr>  	 	
  	 	</c:forEach>
  	 </table>

  </body>
</html>
           

效果:

Jsp标签之&lt;c:forEach&gt;