[转][转]springbooot2 thymeleaf 配置以及加载资源文件。
这个问题我们都很好明白,就是模板页不存在,但是实际上它能找到模板页,但是在使用th:include标签的时候才会出错,这就是问题的症结所在。
其实这个问题也很好解决,我们只需要在引用模板文件的时候不用”/”打头就可以了,通过类似相对路径的方式来引用,但是需要说明的是,这里的相对路径仍然是相对于模板根目录来做的。
/** * 不能以“/”开头,解决springboot部署之后找不到thymeleaf模版文件所在的位置。 * @param paths * @return */ private String combineViewPath(String... paths) { final String DirectorySeparatorCharJar = "/"; String path = null; int length = paths.length; List<String> pathList = new ArrayList<>(length); for (int i = 0; i < length; i++) { path = paths[i]; int lastIndex = path.lastIndexOf(DirectorySeparatorCharJar); if (lastIndex == path.length() - 1) { path = path.substring(0, lastIndex); } if (0 == path.indexOf(DirectorySeparatorCharJar)) { path = path.substring(1); } pathList.add(path); } return StringUtils.join(pathList.toArray(), DirectorySeparatorCharJar); }
springbooot2 thymeleaf 配置以及加载资源文件。Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)
下面的方案:(IDEA里面加上就不能访问静态资源了)
在pom.xml中引入如下配置
<build> <finalName>lightstar</finalName> <resources> <resource> <!--加载资源目录--> <directory>src/main/resources</directory> <includes> <!--加载配置文件--> <include>**/*.xml</include> <include>**/*.properties</include> <!--加载模板文件--> <include>**/*.html</include> <!--加载静态文件--> <include>/static/</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
分类:
maven
, springboot
标签:
springboot
, thymeleaf
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现