我正在学习Thymeleaf并且不了解什么是可缓存的模板
你能解释一下他们的用途和用法吗?
感谢名单
答案 0 :(得分:4)
默认情况下,为thymeleaf启用缓存,因此所有页面都会被缓存。
Thymeleaf模板引擎会在处理之前存储已解析的模板,因此如果有更改,只有在重新读取/解析文件(例如重新部署,重新启动)之后才能看到这些模板。
这实际上非常方便,特别是在繁重的Web应用程序(许多不同大小的页面)中,否则每次更改都会重新读取所有页面(这是简单的输入/输出操作 - 成本时间),尽管大多数页面永远不会改变。
您可以在配置模板引擎时明确禁用缓存
templateResolver.setCacheable(false);
使用禁用缓存,修改百万美元页面后,您只需在Web浏览器中重新加载页面并查看更改,因此对于每个单独的更改,thymeleaf将解析模板并立即加载到应用程序中。同样,它将重新加载应用程序中的所有页面,而不是已更改的单个页面。
还可以通过
清除单个模板的缓存 templateEngine.clearTemplateCacheFor("/test");
答案 1 :(得分:0)
模板在首次使用时仅被解析一次,其结果
该分析的结果将被缓存以备后用。这是生产的一大特色,
因为它可以防止对每个请求进行冗余模板解析,从而提高了
性能。
但是,该功能在开发时并不那么出色。假设您开枪
设置您的应用程序并访问taco设计页面,然后进行一些更改
对此。刷新网络浏览器时,仍会看到原始版本。
您看到更改的唯一方法是重新启动应用程序,这相当
不方便。
有一种方法可以禁用缓存。您所需要做的就是将templateappropriate缓存属性设置为false
启用/禁用模板缓存的属性:
所有这些属性都设置为true以启用缓存。您可以禁用 通过将所选模板引擎的cache属性设置为false来进行缓存。对于 例如,要禁用Thymeleaf缓存,请在 application.properties 中添加以下行: