我正在使用Spring Boot 2.1.6.RELEASE,Thymeleaf 3.0.11.RELEASE。 我有
<a class="k-button" th:href="@{/customer/view/{id}(id=${accountObject.id})}" style="min-width: 0; color: green;" title="Xem"><span class="k-icon k-i-preview"></span></a>
工作正常,生成为http://localhost:8080/customer/42
。
我尝试
<a class="k-button" th:href="@{/customer/view/{type}(type=${accountObject.accountObjectType})/{id}(id=${accountObject.id})}" style="min-width: 0; color: green;" title="Xem"><span class="k-icon k-i-preview"></span></a>
它无法按预期工作,我希望它生成为http://localhost:8080/customer/1/42
(accountObject.accountObjectType
= 2
)
我需要类似/customer/1/
之类的东西,因为它将在Spring MVC Controller中为@PathVariable("type") Integer type
。
如何在Thymeleaf URL中放置2个表达式?
答案 0 :(得分:1)
URI模板中可以有多个占位符;最后一次提供所有替换。它应该看起来像这样:
th:href="@{/customer/view/{type}/{id}(type=${accountObject.accountObjectType},id=${accountObject.id})}"
(我还认为您可能不需要为每个替换值使用{}
,但这不会造成伤害。)