【发布时间】:2014-06-21 09:07:51
【问题描述】:
我正在将Thymeleaf Template Engine 与 Spring Web MVC 一起使用,但在当前 url 的帮助下创建 url 时我被卡住了。有没有办法在 Thymeleaf HTML 文件中获取最新信息? eg:假设我当前浏览器地址栏中的url是:
http://localhost:8080/project/web/category/mobiles
现在我想创建一个这样的网址http://localhost:8080/project/web/category/mobiles/store/samsung
或
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>
这里我使用带有硬编码 url 的 currentUrl 变量,所以我想要一些相同的解决方案。硬编码值不会每次都有效,因为我有动态类别。
我对相对 url 进行了同样的尝试,但它对我不起作用。
<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
请看一下,如果我做错了什么,请告诉我。
【问题讨论】:
-
为什么需要完整的 URL?为什么不简单地使用相对 URL?
-
在我的情况下,
http://localhost:8080/project是我的基本网址,/web/category/{categoryName}由控制器映射。我尝试了相对但它似乎不起作用,我将它用于相对网址<a th:href="@{/store/__${store.name}__}>" Click to More</a>。
标签: spring-mvc thymeleaf