Thymeleaf-网址问题:如何使用对象变量命名网址

问题描述 投票:0回答:1

我是Thymeleaf的新手,与Springboot一起使用。我正在尝试做一个非常简单的事情:我有一个url,并且我想编辑文本而不编辑url链接。

这有效(它向我显示了网址作为URL,实际上我可以单击它:]]

<a th:text="${c.getWebsite()}" th:href="${c.getWebsite()}"> Website </a>

这也有效(按钮称为“视图”,但超链接有效:]

<a th:href="@{'/company/' + ${c.getId()}}" class="btn btn-primary"> <i class="fas fa-building"></i>&nbsp;View </a>

我想在按钮上写的不是视图,而是公司的名称。由于某种原因,这不起作用:

<a th:text="${c.getName()}" th:href="@{|/company/${c.getId()}|}">Name</a>

[当我检查元素时,我看到了:

<a href="/company/123456">Test Company</a>

所以这似乎是正确的,但它不允许我单击它。我尝试了许多不同的组合,并且还阅读了有关url syntax的百里香叶文档,但到目前为止还没有运气。有人可以帮忙吗?谢谢!

注意:这是表格的一部分……“公司名称”(我想变成网址)在表格的第3列中,那么网站就更远了;最后,按钮“视图”位于最后一列。按钮视图有效,当我将该按钮的代码复制到第三列而不进行任何更改时,它将停止工作(它仅显示按钮,但是没有url在工作,即使我检查元素时,该url也是如此那里)。非常奇怪,我在chrome和edge上都看到了。

spring-boot url thymeleaf
1个回答
0
投票

我不太确定,但是发现正常链接标记和非正常链接标记在href属性中存在差异,这可能会导致问题:工作的链接有单撇号,而另一个有管道...

th:href="@{'/company/' + ${c.getId()}}"
th:href="@{|/company/${c.getId()}|}"

这能解决您的问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.