什么是Thymeleaf可缓存模板?

时间:2015-02-15 19:38:52

标签: thymeleaf


我正在学习Thymeleaf并且不了解什么是可缓存的模板 你能解释一下他们的用途和用法吗? 感谢名单

2 个答案:

答案 0 :(得分:4)

默认情况下,为thymeleaf启用缓存,因此所有页面都会被缓存。

Thymeleaf模板引擎会在处理之前存储已解析的模板,因此如果有更改,只有在重新读取/解析文件(例如重新部署,重新启动)之后才能看到这些模板。

这实际上非常方便,特别是在繁重的Web应用程序(许多不同大小的页面)中,否则每次更改都会重新读取所有页面(这是简单的输入/输出操作 - 成本时间),尽管大多数页面永远不会改变。

您可以在配置模板引擎时明确禁用缓存

templateResolver.setCacheable(false);

使用禁用缓存,修改百万美元页面后,您只需在Web浏览器中重新加载页面并查看更改,因此对于每个单独的更改,thymeleaf将解析模板并立即加载到应用程序中。同样,它将重新加载应用程序中的所有页面,而不是已更改的单个页面。

还可以通过

清除单个模板的缓存

templateEngine.clearTemplateCacheFor("/test");

答案 1 :(得分:0)

模板在首次使用时仅被解析一次,其结果 该分析的结果将被缓存以备后用。这是生产的一大特色, 因为它可以防止对每个请求进行冗余模板解析,从而提高了 性能。
但是,该功能在开发时并不那么出色。假设您开枪 设置您的应用程序并访问taco设计页面,然后进行一些更改 对此。刷新网络浏览器时,仍会看到原始版本。 您看到更改的唯一方法是重新启动应用程序,这相当 不方便。
有一种方法可以禁用缓存。您所需要做的就是将templateappropriate缓存属性设置为false 启用/禁用模板缓存的属性: enter image description here

所有这些属性都设置为true以启用缓存。您可以禁用 通过将所选模板引擎的cache属性设置为false来进行缓存。对于 例如,要禁用Thymeleaf缓存,请在 application.properties 中添加以下行: