springboot中thymeleaf 配置多个路径实现测试过程


测试环境:win10.JDK 1.8

 

需求背景:springboot 配合 thymeleaf 自己开发一个小站点。

例如其它路由/xxx/yyyy.html   打包后 正常访问 jar包体内classpath:/templates/ 下模板,并开启cache 以加快访问速度;

此时新增一个功能:例如 路由/outtemplate/zzzz.html 去jar包运行路径下指定目录提取模板 且不开启cache 方便发布后实时更新,且在java中处理一些通用逻辑。(如果无逻辑处理:可以外部创建static供 springboot自动扫描,html作为静态文件访问)

 

主要测试类:

ClassLoaderTemplateResolver || SpringResourceTemplateResolver

创建任意类 使用
@Configuration 标签。我图方便放在了之前写的一个类内部
ClassLoaderTemplateResolver 测试:
访问测试路由:
  http://localhost:8081/class/test ;测试写死模板:classGet.html

    classGet.html所在目录:

 

  编写ClassLoaderTemplateResolver  Bean 将classes 下的test目录设置为该解析器根目录

结果访问 成功;

但是这个还不符合需求,我需要用到外部目录 则使用 SpringResourceTemplateResolver

 

 

 

 

SpringResourceTemplateResolver 成功扫到模板,并正常访问

总结:初步理解两个类的简单用法。如果有不对希望大家指正

疑问:是否有方式 假设Controller编写访问路由时,设置该路由使用的解析器。假设项目多个解析器order排序处理。根目录下文件有同名 出现同名导致获取模板错误。
或者前面N个路由都没扫描的模板文件最后一个扫描到是否会
降低扫描效率(在不开启cache的条件每次获取模板应该都会扫描文件,这种理解是否错误呢)。


 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM