JSTL--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSTL--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215相关的知识,希望对你有一定的参考价值。

技术分享

 

jstl_core.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<%@ page import="com.bjpowrnode.jstl.*" %>
<%@ page import="java.util.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
	<h3>采用forEach标签,varstatus</h3><br>
	<table border="1">
		<tr>
			<td>用户名称</td>
			<td>年龄</td>
			<td>所属组</td>
			
		</tr>
		<c:choose>
			<c:when test="${empty users}">
				<tr>
					<td colspan="3">没有符合条件的数据</td>
				</tr>
			</c:when>
			<c:otherwise>
				<c:forEach items="${users }" var="user" varStatus="vs">
					<c:choose>
						<c:when test="${vs.count mod 2==0 }">
							<tr bgcolor="red">
						</c:when>
						<c:otherwise>
							<tr>
						</c:otherwise>
					</c:choose>
							<td>${user.username}</td>
	 						<td>${user.age }</td>
	 						<td>${user.group.name }</td>
							<tr>
					
				</c:forEach>
			</c:otherwise>
		</c:choose>
	
	</table>
	
	
	
	 <h3>采用forEach标签,begin ,end</h3>
	 <table border="1">
	 	<tr>
	 		<td>用户名称</td>
	 		<td>年龄</td>
	 		<td>所属组</td>
	 	</tr>
	 	<c:choose>
	 		<c:when test="${empty users }">
	 			<tr>
	 				<td colspan="3" >没有符合条件的数据</td>
	 			</tr>
	 		</c:when>
	 		<c:otherwise>
	 			<c:forEach items="${users}" var="user" begin="2" end="8" step="2">
	 				<tr>
	 					<td>${user.username}</td>
	 					<td>${user.age }</td>
	 					<td>${user.group.name }</td>
	 				</tr>
	 			</c:forEach>
	 		
	 		</c:otherwise>
	 		
	 	</c:choose>
	 </table>
	
	<li>演示循环控制标签:forEach,输出Map</li><br>
	<c:forEach items="${map }" var ="entry">
		${entry.key },${entry.value}<br>
	</c:forEach>
	
	<li>循环控制标签:forTokens</li><br>
	<c:forTokens items=	"${strTokens}" delims="#" var="v">
		${v }<br>
	</c:forTokens>
	
</body>
</html>

 

JstlCoreServlet

/**
 * 
 */
package com.bjpowrnode.jstl;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @ClassName:JstlCoreServlet
 * @Description:TODO
 * @author wm
 * @date 2016年2月15日上午11:40:32
 */
public class JstlCoreServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//普通字符串
		request.setAttribute("hello","Hello World!");
		request.setAttribute("welcome", "<font color=‘red‘>欢迎你来到这个世界!</font>");
		
		//条件控制标签、
		request.setAttribute("v1", 10);
		request.setAttribute("v2", 20);
		
		request.setAttribute("userList", new ArrayList());
		
		
		//结构
		Group group =new Group();
		group.setName("动力节点drp 603班");
		
		List users=new ArrayList();
		for(int i =0;i<10;i++){
			User user=new User();
			user.setUsername("张三_"+i );		
			user.setAge(23+i);
			user.setGroup( group);	
			users.add(user);
		}
		
		request.setAttribute("users", users);
		
		//map
		Map map=new HashMap();
		map.put("k1", "v1");
		map.put("k2", "v2");
		map.put("k3", "v3");
		map.put("k4", "v4");
		request.setAttribute("map", map);
		
		
		//forTokens
		request.setAttribute("strTokens", "1#2#3#4#5");
		
		
		request.getRequestDispatcher("/jstl_core.jsp").forward(request, response);
	}


}

 

以上是关于JSTL--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215的主要内容,如果未能解决你的问题,请参考以下文章

JSTL不同版本和EL表达式的关联

JSTL--JSTL表达式:c:set,c:if,c:choose,--drp214

JSTL

JSTL标签库

JSTL ---[什么是JSTL,JSTL标签]

JSTL 入门