我正在使用Thymeleaf Template Engine与Spring Web MVC,我被卡住了,而创建URL的帮助下,当前的网址。有什么办法可以获得当前的Thymeleaf HTML文件内?例如:假设我的浏览器地址栏中的当前网址是:
第一个月
现在我想创建一个像http://localhost:8080/project/web/category/mobiles/store/samsung
这样的url
或http://localhost:8080/project/web/category/mobiles?min_price=10&max_price=100
.
代码看起来像这样
<a th:with="currentUrl='http://localhost:8080/project/web/category/mobiles'"
th:href="@{__${currentUrl}__/__${store.name}__}">
Click to More Result
</a>
这里我使用currentUrl
变量与硬编码的网址,所以我想一些相同的解决方案。硬编码的值不会每次工作,因为我有动态类别。
我尝试了同样的相对网址,但它不为我工作。
<a th:href="@{/store/__${store.name}__}">Click to More</a>
//will produce: http://localhost:8080/project/web/store/samsung
//I want: http://localhost:8080/project/web/category/mobiles/store/samsung
请看一下,如果我做错了什么,请告诉我。
4条答案
按热度按时间ugmeyewa1#
哦,我得到了这个问题的解决方案。我错过了文档中的
{#httpServletRequest.requestURI}
。以下是对我有效的解决方案:
yhxst69z2#
您可以使用两个单引号
'
获取当前URL。示例:请注意,这不包括现有的URL参数。
9rygscc13#
如果请求的URL是例如:http://localhost:8080/my-page
我可以得到这个值:/我的页面使用此:http服务请求.请求URI
例如,如果必须加载某些资源,可以用途:
渲染后的html将是:
pu3pd22g4#
在Thymeleaf 3.1中,当前URL可以从上下文对象获得: