Thymeleaf和SpringBoot链接Hfef单击链接时将unicode添加到URL

时间:2019-03-21 19:15:12

标签: java spring-boot thymeleaf

我不确定为什么会这样,因为我有一个较旧的项目,其中以这种方式编写的链接可以正常工作,但是我将新项目升级到了SpringBoot 2和Thymeleaf 3,当我单击链接时,我一直得到此URL。从我的首页开始,而其他html页面则相同的链接设置正确运行。这是从Intellij运行的,尚未设置为生产应用程序。

该链接将我带到http://localhost:80/@%7B/edit/%7Bexpiring.broker.id%7D%7D,而不是http://localhost:80/edit/ {broker.id}

有人可以告知为什么会这样吗?由于它准确地转到了URL,因此我没有收到任何错误,因此它只是在处理URL时出错。

这是我的HTML

<table class="table table-striped" data-toggle="table" data-classes="table-no-bordered">
    <thead>
        <th>Broker</th>
        <th>Documents</th>
    </thead>
    <tbody>
        <tr th:each="expiring:${aboutToExpire}">
            <td><a href="@{/edit/${expiring.broker.id}}"><span th:text="${expiring.broker.accountName}"></span></a></td>
            <td><span th:text="${expiring.type}"></span></td>
        </tr>
    </tbody>
</table>

这是我的控制器功能:

@RequestMapping(value="/edit/{id}")
public String editBroker(Model model,@PathVariable("id") Long id, Broker broker){
    Broker existing = brokerRepository.findById(id).get();
    model.addAttribute("broker",existing);
    return "brokerProfile";
}

我的一些依赖项:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-java8time</artifactId>
        <version>3.0.0.RELEASE</version>
    </dependency>   
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>3.2.8.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf</artifactId>
        <version>3.0.9.RELEASE</version>
    </dependency>
</dependencies>

0 个答案:

没有答案