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>
在运行时,这会生成一个很好的库存项目名称无序列表。
我现在想要的是使它成为一个无序列表的超链接 (<a/>
),使得呈现的 HTML 看起来像这样:
<ul>
<li><a href="/inventoryDetails/12345">Goose</a></li>
<li><a href="/inventoryDetails/23456">Duck</a></li>
<!-- etc. -->
</ul>
12345
和 23456
是 InventoryItem#modelNumbers
,Goose
和 Duck
是 InventoryItem#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 丢失的复杂对象
Thymeleaf 模板 在spring boot 中的引用和应用
用于 Spring Boot + Thymeleaf 的 @WebAppConfiguration 和 @ContextConfiguration