URL中的Thymeleaf 2表达式

时间:2019-07-06 04:45:11

标签: java spring spring-mvc thymeleaf spring-el

我正在使用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/42accountObject.accountObjectType = 2

我需要类似/customer/1/之类的东西,因为它将在Spring MVC Controller中为@PathVariable("type") Integer type

如何在Thymeleaf URL中放置2个表达式?

1 个答案:

答案 0 :(得分:1)

URI模板中可以有多个占位符;最后一次提供所有替换。它应该看起来像这样:

th:href="@{/customer/view/{type}/{id}(type=${accountObject.accountObjectType},id=${accountObject.id})}"

(我还认为您可能不需要为每个替换值使用{},但这不会造成伤害。)