📅  最后修改于: 2023-12-03 15:35:10.441000             🧑  作者: Mango
在 Struts 2 中,迭代器标记(Iterator Tag)允许程序员通过指定一个集合和一些模板来方便地展示数据。
迭代器标记由以下标记组成:
本文将介绍如何使用 Struts 2 迭代器标记来展示集合数据。
在开始使用迭代器标记之前,需要做以下准备工作:
如下所示是一个简单的 Employee 类,包含员工的 id 和 name 属性。
public class Employee {
private int id;
private String name;
public Employee(int id, String name) {
this.id = id;
this.name = name;
}
// getters and setters
}
创建一个控制器类,并在其中定义一个 List 属性,保存需要展示的 Employee 对象。
public class EmployeeController extends ActionSupport {
private List<Employee> employees;
public EmployeeController() {
employees = new ArrayList<>();
employees.add(new Employee(1, "John"));
employees.add(new Employee(2, "Mary"));
employees.add(new Employee(3, "Bob"));
}
public List<Employee> getEmployees() {
return employees;
}
}
为了展示数据,我们将使用 <s:iterator> 标记和 <s:property> 标记。
首先,在 JSP 页面中添加 <s:iterator> 标记,并指定要迭代的集合。
<s:iterator value="employees">
<!-- code for each item in the employees list goes here -->
</s:iterator>
现在,我们需要在 <s:iterator> 标记中添加 <s:property> 标记来显示每个 Employee 对象的 id 和 name 属性。
<s:iterator value="employees">
<tr>
<td><s:property value="id" /></td>
<td><s:property value="name" /></td>
</tr>
</s:iterator>
完整的 JSP 页面如下所示:
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Employee List</title>
</head>
<body>
<h1>Employee List</h1>
<table>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
<s:iterator value="employees">
<tr>
<td><s:property value="id" /></td>
<td><s:property value="name" /></td>
</tr>
</s:iterator>
</table>
</body>
</html>
现在,我们已经完成了 Struts 2 迭代器标记的示例代码。现在,我们可以启动应用程序并查看结果。
完整的示例代码可以在 GitHub 上找到:https://github.com/PaddlePaddle/struts2-example。
在上面的示例中,我们已经学习了如何使用 <s:iterator> 标记和 <s:property> 标记在 Struts 2 中展示集合数据。
通过使用 Struts 2 的迭代器标记,我们可以简单地展示集合数据,而无需手动编写循环和条件语句。这使得代码更加简洁、易于维护和修改。