好 之前我讲了 forEach 标签 但只是说了基本的使用
但我们实际开发中 还是循环遍历对象数组最多 就是一个java bean类型的list集合
那么 首先 我们要提供一个java bean
我们在java目录下 创建一个目录 我这里叫 attribute 下面创建一个类 叫users
参考代码如下
package com.example.dom.attribute;
public class users {
private int id;
private String name;
public users(int id,String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
这里 我们定义了 一个 id 一个 name 然后这里我比较懒 就只给一个带参构造 反正能给里面的变量赋值就够了
但这边一定要提供get函数哦 不然外面是拿不到它的
这边 我们jsp界面编写代码如下
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.example.dom.attribute.users" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<title>JSP - Hello World</title>
</head>
<body>
<%
List<users> list = new ArrayList<>();
users user = new users(1,"小狗狗");
users user1 = new users(1,"小猫猫");
users user2 = new users(1,"旺财");
list.add(user);
list.add(user1);
list.add(user2);
request.setAttribute("arryList",list);
%>
<c:if test="${!empty arryList}">
<table alignm="center" style="border:black solid 1px;border-collapse: collapse;">
<tr>
<th>用户id</th>
<th>用户名</th>
</tr>
<c:forEach items="${arryList}" var = "item">
<tr>
<td>${item.id}</td>
<td>${item.name}</td>
</tr>
</c:forEach>
</table>
</c:if>
</body>
</html>
这里 我们创建了三个 users 对象 用带参构造给里面的 id和name 赋值
然后 我们将集合放入域对象中 键为 arryList
然后 这里 我们有一个细节 我们最外面 用if标签 先判断了 这个集合是不是空的 因为 我们实际开发中是存在没有数据的情况的
我们运行结果如下
简单说 var 定义的代理名 拿到的就是 当前被循环的bean对象
通过代理名 点 就可以拿到对象中的属性