Thymeleaf
中有没有什么特殊的工具可以通过添加/删除/替换参数来构造URL?例如,我需要向同一个页面发出请求,但在请求中添加一个额外的参数“p=1”。这样:
'/foo?a=b' becomes '/foo?a=b&p=1' // addition
'/foo?p=0' becomes '/foo?p=1' // replacing
@{}
在这里似乎没有帮助。我认为存在以下类似的东西:@{#CurrentUri(*, p=1,!q)}
,其中'*'表示所有现有参数,'p=1'表示添加/替换,'!'表示排除。
Thymeleaf
是否有类似的语法或任何其他用于灵活URL构造的语法?
不管怎样,我知道你问这个问题已经有一段时间了。
似乎您正在寻找httpServeltRequest. request estURI
<a th:href="@{${'~' + #httpServletRequest.requestURI}(lang=${language})}" th:text="#{${'Language.' + lang}}"><span>Switch to English</span></a>
使用#httpServletRequest. QueryString
,您可以获取当前url中给出的所有参数。不幸的是,如果您可以排除任何参数,我不太确定。
来源:http://forum.thymeleaf.org/How-to-link-to-current-page-and-exchange-parameter-td4024870.html
Thymeleaf
似乎没有提供任何这样的实用程序。
但是,由于它利用了Spring EL
,因此编写一个带有一组实用程序方法的帮助类并使其可供表达式调用这些方法是相当容易的。语法上,它可以看起来非常接近问题中的假想示例:@{#CurrentUri("*", "p=1","! q")}