Spring Boot 和 Thymeleaf:链接列表

Posted

技术标签:

【中文标题】Spring Boot 和 Thymeleaf:链接列表【英文标题】:Spring Boot & Thymeleaf: list of links 【发布时间】:2020-11-26 21:21:05 【问题描述】:

此处使用 Thymeleaf 作为模板引擎的 Java/Spring Boot Web 应用程序。

我的豆子:

public class InventoryItem 

  private String modelNumber;
  private String name;

  // getters, setters and ctors omitted for brevity
  

我的 Spring 控制器:

@Controller
@RequestMapping("/inventory")
public class InventoryController 

  @GetMapping("/inventoryId")
  public String viewInventory(@PathVariable("inventoryId") String inventoryId, Model model) 

      List<InventoryItem> inventory = getSomehow(inventoryId);
      model.addAttribute("inventory", inventory);

      return "inventory";

  
  

还有来自 inventory.html 文件的 sn-p,Thymeleaf 必须模板化:

<div class="col-md-4 mt-5">
    <div class="panel-body">Inventory Items</div>
    <ul>
        <li th:each="item :$inventory" th:text="$item.name"></li>
    </ul>
</div>

在运行时,这会生成一个很好的库存项目名称无序列表。

我现在想要的是使它成为一个无序列表的超链接 (&lt;a/&gt;),使得呈现的 HTML 看起来像这样:

<ul>
  <li><a href="/inventoryDetails/12345">Goose</a></li>
  <li><a href="/inventoryDetails/23456">Duck</a></li>
  <!-- etc. -->
</ul>

1234523456InventoryItem#modelNumbersGooseDuckInventoryItem#names。我已经问过 Google Gods 高低,但找不到使用 Thymeleaf 呈现超链接列表(有序/无序)的工作示例。有什么想法吗?

【问题讨论】:

【参考方案1】:

这样的事情会起作用......

<div class="col-md-4 mt-5">
    <div class="panel-body">Inventory Items</div>
    <ul>
        <li th:each="item :$inventory">
            <a th:href="@/inventoryDetails/modelNumber(modelNumber=$item.modelNumber)" th:text="$item.name">Goose</a>
        </li>
    </ul>
</div>

如果您想了解有关如何使用 Link URLs 的更多信息,请关注 Thymeleaf 文档。

【讨论】:

以上是关于Spring Boot 和 Thymeleaf:链接列表的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例

Spring Boot 中的 Thymeleaf 缓存和安全性

thymeleaf 和 spring-boot 丢失的复杂对象

Spring Boot整合Thymeleaf

Thymeleaf 模板 在spring boot 中的引用和应用

用于 Spring Boot + Thymeleaf 的 @WebAppConfiguration 和 @ContextConfiguration