📜  struts 2迭代器标记示例(1)

📅  最后修改于: 2023-12-03 15:35:10.441000             🧑  作者: Mango

Struts 2 迭代器标记示例

简介

在 Struts 2 中,迭代器标记(Iterator Tag)允许程序员通过指定一个集合和一些模板来方便地展示数据。

迭代器标记由以下标记组成:

  • <s:iterator>: 定义用于迭代集合的标记。
  • <s:property>: 为每个项显示属性的标记。

本文将介绍如何使用 Struts 2 迭代器标记来展示集合数据。

准备工作

在开始使用迭代器标记之前,需要做以下准备工作:

  1. 安装 Struts 2,确保可以正常运行 Struts 2 项目。
  2. 编写控制器类,并在其中定义一个 List 属性,保存需要展示的数据。

如下所示是一个简单的 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 的迭代器标记,我们可以简单地展示集合数据,而无需手动编写循环和条件语句。这使得代码更加简洁、易于维护和修改。