jstl和el表达式是开发当中常用的语言,而且通常都是夹着使用,来看看jstl中的循环语句forEach的基本用法
<%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@page import="cn.hncu.domain.User"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% List<String> list = new ArrayList<String>(); list.add("laoganma"); list.add("shadingyu"); list.add("duzitent"); request.setAttribute("strList", list); %> <!-- 模拟for循环 --> <c:forEach begin="0" end="2" var="i"> ${i }<br> <!-- 0 1 2 --> </c:forEach> <!-- 模拟foreach循环 --> <c:forEach items="${strList }" var = "str"> ${str}<br> <!-- laoganma shadingyu duzitent --> </c:forEach> <% List<User> userList = new ArrayList<User>(); User user1 = new User(); user1.setId(1); user1.setName("shadingyu"); user1.setPassword("111"); User user2 = new User(); user2.setId(2); user2.setName("shadingyu2"); user2.setPassword("222"); userList.add(user1); userList.add(user2); request.setAttribute("userList", userList); Map<String,User> map = new HashMap<String,User>(); map.put("user1", user1); map.put("user2", user2); request.setAttribute("userMap", map); %> <c:forEach items="${userList }" var="user"> ${user.id } ${user.name} ${user.password}<br> <!-- 1 shadingyu 111 2 shadingyu2 222 --> </c:forEach> <c:forEach items="${userMap }" var="entry"> ${entry.key } --- ${entry.value} <br> <!-- user1 --- User [id=1, name=shadingyu, password=111] user2 --- User [id=2, name=shadingyu2, password=222] --> </c:forEach> <c:forEach items="${userMap }" var="entry"> ${entry.key } --- ${entry.value.name} <br> <!-- user1 --- shadingyu user2 --- shadingyu2 --> </c:forEach> </body> </html>