当前位置: 首页 > 知识库问答 >
问题:

如何在百里香中创建动态表格..?

裴展
2023-03-14

我是百里香叶的新手,正在尝试在百里香叶模板上创建动态表格。

我该怎么做..??

我一直在谷歌搜索,我没有得到任何适当的答案。问题是我不能迭代列表

<tr class="headings">
 <th class="column-title">ID</th>
 <th class="column-title">Name</th>
 <th class="column-title">Salary</th>
 <th class="column-title">Status</th>  
 </tr>
</thead>
<tbody>
 <tr class="even pointer" th:each="row:${rows}" id = "tablerow">
 <td class=" " th:text="${row.getId()}">Id</td>
 <td class=" " th:text="${row.getName()}">Name</td>
 <td class=" " th:utext="${row.getSalary()}">Salary</td>
 <td class=" " th:text="${row.getStatus()}">Active</td>
 </tr>
</tbody>

现在列名是硬编码的,值也是通过 row.getid得到的,如果没有id,它可以是行中的任何东西,我应该使用什么而不是…?示例行。

提前谢谢。

共有1个答案

吕晟睿
2023-03-14

您可以像使用List一样轻松地迭代Map。最简单的形式是:

<tbody>
    <tr class="even pointer" th:each="row: ${rows}" id="tablerow">
        <td th:each="field: ${row}" th:text="${field.value}" />
    </tr>
</tbody>

但是,由于 Maps 没有特定的排序(除非您使用的是 TreeMap 之类的东西),因此我这样做的方式是这样的(完整示例应与您的示例表匹配):

控制器

List<String> headers = Arrays.asList("ID", "Name", "Salary", "Status");
List<Map<String, Object>> rows = new ArrayList<>();
rows.add(Map.of("ID", "1", "Name", "Jim", "Salary", "50000", "Status", "active"));
rows.add(Map.of("ID", "2", "Name", "Sally", "Salary", "50000", "Status", "inactive"));

模板

<table>
    <thead>
        <tr class="headings">
            <th th:each="header: ${headers}" class="column-title" th:text="${header}" />
        </tr>
    </thead>

    <tbody>
        <tr class="even pointer" th:each="row: ${rows}" id="tablerow">
            <td th:each="header: ${headers}" th:text="${row.get(header)}" />
        </tr>
    </tbody>
</table>

这将产生:

<table>
    <thead>
        <tr class="headings">
            <th class="column-title" >ID</th>
            <th class="column-title" >Name</th>
            <th class="column-title" >Salary</th>
            <th class="column-title" >Status</th>
        </tr>
    </thead>

    <tbody>
        <tr class="even pointer" id="tablerow">
            <td >1</td>
            <td >Jim</td>
            <td >50000</td>
            <td >active</td>
        </tr>
        <tr class="even pointer" id="tablerow">
            <td >2</td>
            <td >Sally</td>
            <td >50000</td>
            <td >inactive</td>
        </tr>
    </tbody>
</table>
 类似资料:
  • 我想在胸腺方言中使用胸腺方言,但不能。我尝试过这个,但效果不佳: of删除里面的所有内容。我想在渲染后得到这样的东西: 那么,我该如何实现我的目标呢?

  • 大家好,我对thymeleaf和我的静态html页面有一个问题。更具体地说,我有一个spring mvc web应用程序,我也在使用spring security,在我的登录页面中,我想使用thymeleaf,这样spring security可以与另一端的客户端层通信吗?我不想在我的所有html页面中包括thymeleaf,因为我将使用AngularJs 我尝试将登录名放在templates文件

  • 问题内容: 我将 Thymeleaf 与 Spring MVC 4 结合使用,但是当我要打印列表大小时遇到​​问题 问题就在这里。是我实体中的ArrayList 。我试过了,但是没有用。 谁能帮我 已编辑 这是我的实体: 和我的Controller方法: 问题答案: 尝试将实用程序方法用于:

  • 我有一个,它传递给了一个Thymeleaf页面。我把这张地图放在页面上,我可以访问它。 如何使用thymeleaf执行?我只需要获取基于某个键的值,然后解析并打印该值,我知道该值并具有逻辑。 我正在运行一个Broadleaf应用程序,而Thymeleaf是它的UI引擎。

  • 使用SpringMVC+Thymeleaf,如何将基于整数的模型属性绑定到使用th:value或th:field的表单中的输入字段,而字段本身不显示值“0”。

  • 我使用Spring的引导2.6.3和我试图使用thymeleaf最近得到一个与html的确认消息后,我通过邮件确认我的帐户(我只是使用确认邮件来验证新帐户),所以我看了一些关于thymeleaf的视频,我标记所有的视频都有一个名为模板的文件夹和静态在src/main/ressource和我没有他们,所以我创建了一个名为模板的文件夹,在文件夹中我创建了一个html文件只是为了尝试它,如果它(html

  • 问题内容: 我一直坚持用HTML 5格式化货币。我有必须格式化货币的应用程序。我有下面的代码片段 我从DAO abc读取货币值时,应将其格式化。当前打印$ 1200000.0它应该打印$ 1,200,000.0 .0 问题答案: 您可以使用实用程序对象,可以在此处查看哪些方法:http : //www.thymeleaf.org/apidocs/thymeleaf/2.0.15/org/thyme

  • 问题内容: 我有一个字符串列表- 这些是我感兴趣的属性名称:我想联接这些字符串的值,但不使用属性名称,而是使用它们的属性值。我看到起点是-但是如何说出将列表中的元素与属性文件中的值进行匹配? 该列表将是:并且在属性文件中,我具有: 我想获取字符串: 问题答案: 您可以利用和 从@Controller返回模型: 您可以像这样加入翻译后的邮件列表: 哪个应该产生您期望的结果,例如: 名称和地址是消息文