前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

作者头像
很酷的站长
发布2022-11-24 17:44:42
6530
发布2022-11-24 17:44:42
举报

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”

Thymeleaf报错Error resolving template “XXX”
Thymeleaf报错Error resolving template “XXX”

可能原因有如下三种:

第一种可能:

原因:在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错。

在application.yml中添加以下配置

代码语言:javascript
复制
spring:  thymeleaf:    prefix: classpath:/templates/    mode: HTML    cache: false    encoding: UTF-8    #     新版本不支持content-type: text/html,故新写法    servlet:      content-type: text/html

再在pom.xml 添加以下依赖

代码语言:javascript
复制
<dependency>    <groupId>net.sourceforge.nekohtml</groupId>    <artifactId>nekohtml</artifactId>    <version>1.9.22</version></dependency>

第二种可能

原因:Spring Boot没有解析出静态资源文件位置

代码语言:javascript
复制
<build>        <!-- 配置将哪些资源文件(静态文件/模板文件/mapper文件)加载到tomcat输出目录里 -->        <resources>            <resource>                <directory>src/main/java</directory><!--java文件的路径-->                <includes>                    <include>**/*.*</include>                </includes>                <!-- <filtering>false</filtering>-->            </resource>            <resource>                <directory>src/main/resources</directory><!--资源文件的路径-->                <includes>                    <include>**/*.*</include>                </includes>                <!-- <filtering>false</filtering>-->            </resource>        </resources>         <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build>

第三种可能原因:可能是由于找不到前端VIew路径的原因。

代码语言:javascript
复制
 @GetMapping("/admin")    public String admin() {        //model.addAttribute("menuTree", permissionService.selectMenuTreeByUserId(((User) SecurityUtils.getSubject().getPrincipal()).getUserId()));        return UtilsConst.ADMIN_PREFIX +"index/login";    }

注意:在controller上加注解@Controller 和@RestController都可以在前端调通接口,但是二者的区别在于,当用前者的时候在方法上必须添加注解@ResponseBody,如果不添加@ResponseBody,就会报上面错误,因为当使用@Controller 注解时,spring默认方法返回的是view对象(页面)。而加上@ResponseBody,则方法返回的就是具体对象了。

收藏 | 0点赞 | 0打赏

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档