一尘不染

如何从Spring Boot中找到Thymeleaf模板

spring-boot

我正在尝试按照http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html上的教程学习如何向Thymeleaf模板发送响应。但我收到此错误:找不到模板位置:classpath:/
templates /(请添加一些模板或检查您的Thymeleaf配置)

我将message.html文件放在Other Sources目录中的src / main / resources中<default package>

所以结构看起来像:

SomeProject-其他来源–src / main / resources — <default package> -—
message.html

我想知道为什么它显示下面<default package>而不显示<template>?可能是问题吗?如果是这样,我应该如何更改它?我正在使用netbeans和maven。有什么想法吗?这些是我在pom.xml中具有的依赖项:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>            
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>

在控制器中,我有

@RequestMapping(value = "message", method = RequestMethod.GET)
    public String messages(Model model) {
    model.addAttribute("messages", messageRepository.findAll());
    return "message";
}

并在视图中:

<ul th:each="message : ${messages}">
    <li th:text="${message.id}">1</li>
    <li><a href="#" th:text="${message.title}">Title ...</a></li>
    <li th:text="${message.text}">Text ...</li>
</ul>

阅读 344

收藏
2020-05-30

共1个答案

一尘不染

这里有2件事:1.如果您使用的是Maven,并且我不假设对文件夹名称进行任何自定义。然后,文件夹名称应为src而不是源。2.重命名文件夹后,将模板移至src
/ resources内的’templates’文件夹中,即可正常运行。

2020-05-30