当先锋百科网

首页 1 2 3 4 5 6 7
<title>jstl标签---c:forEach(重点)</title>

</head>

<body>
	<%--
		我们在开发中可以使用c:forEach去对容器进行遍历.
	 --%>


	<h1>1.基本应用</h1>
	<c:forEach begin="1" end="10" step="1" var="num">
			${num}<br>
	</c:forEach>

	<hr>
	<h1>2.基本应用</h1>
	<%--
	 	输出1-10之间的数,要求奇数项为红色,偶数项为绿色
	 	
	 	 <c:forEach begin="1" end="10" step="1" var="num">
			<c:if test="${num%2!=0}">
				<font color='red'>${num}</font>
			</c:if>
			
			<c:if test="${num%2==0}">
				<font color='green'>${num}</font>
			</c:if>
	 </c:forEach>
	  --%>

	<c:forEach begin="1" end="20" step="2" var="num" varStatus="vs">
		<c:if test="${vs.count %2!=0}">
			<font color='red'>${num}</font>
		</c:if>

		<c:if test="${vs.count %2==0}">
			<font color='green'>${num}</font>
		</c:if>
	</c:forEach>

	<%--
		在foreach中有一个varStatus属性,它的值的count属性可以获取当前的序号
	 --%>

	<hr>
	<hr>
	<h1>c:foreach的高级应用--遍历数组,Collection,Map集合</h1>

	<h3>遍历数组</h3>
	<%
		int[] arr = { 1, 2, 3, 4, 5 };

		request.setAttribute("arr", arr);
	%>

	<c:forEach items="${arr}" var="n">
		${n}<br>
	</c:forEach>

	<hr>
	<h3>遍历List集合</h3>

	<%
		List<String> list = new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		request.setAttribute("list", list);
	%>
	
	<c:forEach items="${list}" var="l">
		${l }<br>
	</c:forEach>
	<hr>
	<h3>遍历Map集合</h3>
	<%
		Map<Integer,String> map=new HashMap<Integer,String>();
		map.put(1, "aaa");
		map.put(2, "bbb");
		map.put(3, "ccc");
		
		request.setAttribute("map", map);
	%>
	
	<c:forEach items="${map}" var="entry">
		${entry.key}-----${entry.value}<br>
	</c:forEach>
	
	<hr>	
	<hr>
	<hr>
	c:foreach练习<br>
	<%--
		显示商品信息,并计算商品的总价
	 --%>
	 
	 <%
	 	List<Product> products=new ArrayList<Product>();
	 
	 	Product p1=new Product();
	 	p1.setName("电冰箱");
	 	p1.setCount(10);
	 	p1.setPrice(1);
	 	
	 	products.add(p1);
	 	
	 	Product p2=new Product();
	 	p2.setName("电视机");
	 	p2.setCount(10);
	 	p2.setPrice(2);
	 	
	 	products.add(p2);
	 	
	 	Product p3=new Product();
	 	p3.setName("电脑");
	 	p3.setCount(10);
	 	p3.setPrice(3);	 	
	 	products.add(p3);
	 	
	 	request.setAttribute("products", products);
	 %>
	 
	 <table >
		<tr>
			<td>商品名称</td>
			<td>商品数量</td>
			<td>商品价格</td>
		</tr> 
		
		<c:forEach items="${products}" var="product">
			<tr>
				<td>${product.name}</td>
				<td>${product.count}</td>
				<td>${product.price}</td>
			</tr> 
			<c:set var="money" value="${money+product.count*product.price }"/>
		</c:forEach>
		
		<tr>
			<td colspan="3" align="right">商品总价:${money }元</td>
		</tr>	
	 </table>
</body>
</html>