Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Thymeleaf 什么是可缓存模板?_Thymeleaf - Fatal编程技术网

Thymeleaf 什么是可缓存模板?

Thymeleaf 什么是可缓存模板?,thymeleaf,Thymeleaf,我正在学习Thymeleaf,不明白什么是可缓存模板。 你能给我解释一下它们是什么和用法吗? Thanx默认情况下,为thymeleaf启用缓存,因此所有页面都被缓存 Thymeleaf模板引擎将在处理已解析的模板之前存储这些模板,因此,如果有更改,则只有在重新读取/解析文件(例如重新部署、重新启动)后才能看到这些更改 这实际上非常方便,特别是在繁重的web应用程序中(许多页面大小不同),否则每次更改都会重新读取所有页面(这是简单的输入/输出操作,需要花费时间),尽管大多数页面永远不会更改 配置


我正在学习Thymeleaf,不明白什么是可缓存模板。
你能给我解释一下它们是什么和用法吗?

Thanx

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

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

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

配置模板引擎时,可以显式禁用缓存

templateResolver.setCacheable(false)

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

也可以通过以下方式清除单个模板的缓存:


templateEngine.clearTemplateCacheFor(“/test”)

模板在第一次使用时只解析一次,结果是 所有的解析都被缓存以供后续使用。这是生产的一大特点,, 因为它可以防止对每个请求进行冗余模板解析,从而提高 表演
然而,这个特性在开发时并不是那么棒。假设你开枪了 打开应用程序,点击taco设计页面,决定做一些更改 去吧。刷新web浏览器时,仍将显示原始版本。 您可以看到更改的唯一方法是重新启动应用程序,这非常简单 不方便。
有一种方法可以禁用缓存。您所需要做的就是将templateproperty缓存属性设置为false 要启用/禁用模板缓存的属性:

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

嘿。谢谢你的回复。如果您不介意并且有时间,您能给我看一些关于Thyemeleaf缓存的更多文档或页面吗?我真的很想知道更多。再次感谢你。