JSP核心标签库的<c:foreach>循环使用
时间: 2024-02-03 17:12:08 浏览: 119
<c:forEach> 标签是 JSTL 核心标签库中的一个循环标签,用于遍历集合或数组,并对集合或数组中的每个元素执行某些操作。它的语法如下:
```jsp
<c:forEach var="变量名" items="集合或数组" [varStatus="状态变量"]>
<!-- 循环体 -->
</c:forEach>
```
其中,var 属性用于指定当前元素的变量名,items 属性用于指定要遍历的集合或数组,varStatus 属性用于指定一个状态变量,可以获取当前循环的索引、是否是第一个或最后一个元素等信息。
下面是一个遍历 List 集合的例子:
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
%>
<c:forEach var="item" items="<%=list%>">
<%=item%><br/>
</c:forEach>
```
在上面的例子中,我们先创建了一个 List 集合,然后使用<c:forEach> 标签遍历该集合,并将每个元素输出到页面上。
注意:在循环体中使用 EL 表达式时,需要使用 ${} 包裹表达式,而不是 <%= %>。
相关问题
设计一个jsp文件,运用JSTL的<c:forEach>标签,显示List集合内的元素。
假设我们有一个名为 userList 的 List 对象,其中存储了多个 User 对象。我们可以使用 JSTL 的<c:forEach>标签来展示 userList 中的所有用户信息,具体代码如下:
```jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<c:forEach var="user" items="${userList}">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.email}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
```
在上述代码中,我们首先引入了 JSTL 的核心标签库。然后,我们使用<c:forEach>标签来循环遍历 userList 中的所有 User 对象,并将它们的 id、name 和 email 属性显示在一个 HTML 表格中。其中,var 属性表示当前遍历到的 User 对象的变量名,items 属性表示要遍历的 List 对象。在表格中,我们使用 EL 表达式来获取 User 对象的属性值。
注意,要成功运行这个 JSP 文件,我们还需要在项目中添加 JSTL 的库文件(jstl.jar 和 standard.jar)。
实验5.3 EL和JSTL标签的使用 实验内容:创建一个JSP页面,包含一个10行5列的表格,用JSTL的迭代标签和EL表达式实现表格技术行北京为红色,偶数行背景色为白色。 实验步骤: (1)使用EL和JSTL标签编写JSP程序实现要求的功能; (2)查看程序运行效果。 实现过程、核心代码和实验效果: 步骤: 1. 在JSP页面中使用JSTL标签库和EL表达式,引入core标签库和fmt标签库; 2. 在JSP页面中使用JSTL迭代标签<c:forEach>来循环输出表格的行和列; 3. 使用EL表达式来判断行号并设置对应的样式。
以下是实现过程和核心代码:
1. 在JSP页面中引入core和fmt标签库:
```
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
```
2. 使用<c:forEach>标签循环输出表格的行和列:
```
<table>
<c:forEach var="i" begin="1" end="10">
<tr>
<c:forEach var="j" begin="1" end="5">
<td>Table cell ${i},${j}</td>
</c:forEach>
</tr>
</c:forEach>
</table>
```
3. 使用EL表达式判断行号并设置对应的样式:
```
<tr style="background-color: ${i % 2 == 0 ? 'white' : ''}; color: ${i == 3 ? 'red' : ''}">
```
完整的JSP代码如下:
```
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Table with JSTL and EL</title>
</head>
<body>
<table>
<c:forEach var="i" begin="1" end="10">
<tr style="background-color: ${i % 2 == 0 ? 'white' : ''}; color: ${i == 3 ? 'red' : ''}">
<c:forEach var="j" begin="1" end="5">
<td>Table cell ${i},${j}</td>
</c:forEach>
</tr>
</c:forEach>
</table>
</body>
</html>
```
实验效果如下图所示:

阅读全文
相关推荐

















