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>