thymeleaf抛出异常(templateinputexception),并显示消息“error resolving template[books/list]:…”

pxiryf3j  于 2021-07-23  发布在  Java
关注(0)|答案(2)|浏览(478)

这是一个简单的项目,我尝试实践了thymeleaf和.html的关系。详情如下:
list.html文件:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <title>Spring Framework Simple Sample</title>
</head>
<body>
<h1>Book List</h1>

<table>
    <tr>
        <th>ID</th>
        <th>Title</th>
        <th>Publisher</th>
    </tr>
    <tr th:each="book : ${books}">
        <td th:text="${book.id}">123</td>
        <td th:text="${book.title}"> Spring in Action</td>
        <td th:text="${book.publisher.name}">Wrox</td>
    </tr>
</table>

</body>
</html>

在bookcontroller中,返回路径显示“cannot resolve mvc'view':

@Controller
public class BookController {

    private final BookRepository bookRepository;

    public BookController(BookRepository bookRepository) {
        this.bookRepository = bookRepository;
    }

    @GetMapping( "/books")
    public String getBooks(Model model){

        model.addAttribute("books", bookRepository.findAll());

        return "books/list";
    }
}

我试过不同的方法:

<!--        <dependency>-->
<!--            <groupId>org.thymeleaf</groupId>-->
<!--            <artifactId>thymeleaf</artifactId>-->
<!--            <version>3.0.12.RELEASE</version>-->
<!--        </dependency>-->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

我已经尝试了以下链接:
spring boot无法解析视图页
spring-无法解析mvc“视图”af
intellij中的spring boot+thymeleaf:无法解析变量
templateinputexception:解析模板****时出错,模板可能不存在
https://www.programmersought.com/article/12644906098/
https://spring.io/guides/gs/serving-web-content/
但是没有任何运气。我读到这是intellij中的某种错误,并试图修复它,但仍然不起作用。
请,任何帮助和建议,欢迎和感谢您的努力提前。
my.html文件的路径:
/home/panda/ideaprojects/udemyclass/src/main/resources/templates.books/list.html

5vf7fwbs

5vf7fwbs1#

似乎您的文件夹创建不正确。仔细看看你的路径:resources/templates.books/list.html
所以,为了让它发挥作用:

return "templates.books/list";

或者删除这些内容并以适当的方式创建文件夹:删除books文件夹,在再次添加它之前,只需在templates目录中创建任何文件。

tkqqtvp1

tkqqtvp12#

@感谢您的回复。我重新创建了相同的路径,之后它现在看起来像这样:
/home/panda/ideaprojects/udemyclass/src/main/resources/templates/books/list.html
它现在正如期工作。

相关问题