默认情况下,thymeleaf 的缓存是启用的,因此所有页面都被缓存。
Thymeleaf 模板引擎将在处理之前存储已解析的模板,以便如果有更改,只有在重新读取/再次解析文件(例如重新部署、重新启动)后才能看到这些模板。
这实际上非常方便,特别是在繁重的 Web 应用程序中(许多不同大小的页面),否则对于每次更改它都会重新读取所有页面(这是简单的输入/输出操作 - 花费时间),尽管大多数页面永远不会改变。
您可以在配置模板引擎时显式禁用缓存
templateResolver.setCacheable(false);
禁用缓存后,修改 thymeleaf 页面后,您只需在 Web 浏览器中重新加载页面并查看更改,因此对于每一个更改,thymeleaf 都会解析模板并立即加载到应用程序中。同样,它将重新加载应用程序中的所有页面,而不是已更改的单个页面。
也可以通过以下方式清除单个模板的缓存
templateEngine.clearTemplateCacheFor("/test");