<c:foreach>
时间: 2023-07-09 11:41:00 浏览: 162
<c:forEach>是JSTL(JavaServer Pages标准标记库)中的一个标签,用于遍历集合或数组,并在JSP页面中输出相应的内容。该标签可以替代传统的Java代码中的循环逻辑,可以使JSP页面的代码更加简洁和易读。
以下是<c:forEach>的使用示例:
```jsp
<c:forEach items="${list}" var="item">
<li>${item}</li>
</c:forEach>
```
在上述示例中,<c:forEach>标签用于遍历名为list的集合,将每个元素赋值给名为item的变量,并在循环体中输出一个<li>元素,其中的文本内容为item的值。
<c:forEach>标签的主要属性如下:
- items:指定要遍历的集合或数组,可以是EL表达式或JSP表达式。
- var:指定当前元素的变量名,可以是任意合法的变量名。
- varStatus:指定当前元素的状态变量名,可以用于获取当前元素的索引、计数、是否为第一个或最后一个元素等信息。
- begin、end、step:指定遍历范围和步长,可以是数字或EL表达式。
除了上述属性外,<c:forEach>标签还支持嵌套、分组、排序等高级功能,可以根据实际需求进行使用。
相关问题
创建三角形JavaBean,定义若干个三角形对象存入ArrayList,使用<c:forEach>循环遍历集合中的对象,并输出对象的属性
首先,我们需要创建一个三角形类Triangle,包含三个成员变量表示三角形的三条边长:
```java
public class Triangle {
private double side1;
private double side2;
private double side3;
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
// getter and setter methods for the three sides
public double getSide1() {
return side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getSide3() {
return side3;
}
public void setSide3(double side3) {
this.side3 = side3;
}
}
```
然后,我们可以在Servlet中定义若干个Triangle对象,并将它们存入ArrayList中:
```java
List<Triangle> triangles = new ArrayList<>();
triangles.add(new Triangle(3, 4, 5));
triangles.add(new Triangle(5, 12, 13));
triangles.add(new Triangle(8, 15, 17));
```
最后,在JSP页面中使用<c:forEach>循环遍历ArrayList中的对象,并输出它们的属性:
```jsp
<table>
<thead>
<tr>
<th>Side 1</th>
<th>Side 2</th>
<th>Side 3</th>
</tr>
</thead>
<tbody>
<c:forEach items="${triangles}" var="triangle">
<tr>
<td>${triangle.side1}</td>
<td>${triangle.side2}</td>
<td>${triangle.side3}</td>
</tr>
</c:forEach>
</tbody>
</table>
```
这样,就可以遍历ArrayList中的Triangle对象,并输出它们的属性了。
点击按钮将<c:forEach>的对象或数据传到跳转的页面
您可以使用表单来将<c:forEach>的对象或数据传递到跳转的页面。具体操作步骤如下:
1. 在<c:forEach>标签内部,通过<input>标签或<select>标签等表单元素来展示对象或数据,并设置表单元素的name属性。
2. 在表单外部,通过<form>标签来包裹表单元素。
3. 给<form>标签设置action属性,指定表单的提交地址。
4. 给<form>标签设置method属性,指定表单提交的方式。
5. 在跳转的页面中,通过request.getParameter()方法获取表单提交的数据。
下面是一个示例代码:
```
<c:forEach items="${list}" var="item">
<form action="target.jsp" method="post">
<input type="hidden" name="itemId" value="${item.id}">
<input type="submit" value="查看详情">
</form>
</c:forEach>
```
在上面的代码中,我们将<c:forEach>的对象list中的每个item展示为一个表单,表单元素包括一个隐藏域和一个提交按钮。点击提交按钮后,表单数据会被提交到target.jsp页面,我们可以通过request.getParameter("itemId")方法来获取表单提交的数据。
阅读全文