其他分享
首页 > 其他分享> > 如何从春季启动中找到Thymeleaf模板

如何从春季启动中找到Thymeleaf模板

作者:互联网

我试图在http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html学习如何发送对Thymeleaf模板的响应.但我得到这个错误:找不到模板位置:classpath:/ templates /(请添加一些模板或检查你的Thymeleaf配置)

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

所以结构看起来像:

SomeProject
– 其他来源
–src /主/资源
—<默认包>
—- 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>   

解决方法:

这里有2件事:
1.如果您使用的是Maven,我假设没有对文件夹名称进行自定义.然后文件夹名称应该是src而不是source.
2.重命名文件夹后,将模板移动到src / resources中的“templates”文件夹中,这应该可以正常运行.

标签:java,spring,maven,spring-boot-2,thymeleaf
来源: https://codeday.me/bug/20190717/1487431.html