Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
thymeleafurl构造_Url_Uri_Thymeleaf - Fatal编程技术网

thymeleafurl构造

thymeleafurl构造,url,uri,thymeleaf,Url,Uri,Thymeleaf,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? 例如,我需要向同一页发出请求,但需要在请求中添加一个附加参数“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构造语法?

似乎
Thymeleaf
不提供任何此类实用程序


但是,由于它利用了
springel
,因此编写带有一组实用方法的helper类并使其可供表达式调用这些方法是相当容易的。从语法上看,它可以非常接近这个问题中的想象例子:
@{currentUri(“*”,“p=1”,“!q”)}

我知道你刚才问这个问题的时候,无论如何

似乎您正在查找httpServeltRequest.requestURI

<a th:href="@{${'~' + #httpServletRequest.requestURI}(lang=${language})}" th:text="#{${'Language.' + lang}}"><span>Switch to English</span></a>

使用
#httpServletRequest.QueryString
可以获得当前url中给定的所有参数。不幸的是,如果可以排除任何参数,我就不是舒尔


来源:

queryString
只是一个字符串,要将修改后的URL重新构建为一行表达式是很困难的。它需要将查询字符串分解为键和值,然后逐个参数重新构造URL参数。