Thymeleaf 逻辑解耦的影响是非常小的。当一个被解析的模板被标记为使用解耦逻辑,并且没有被缓存时,模板逻辑资源将首先被解析,被解析并被处理成内存中的一系列指令:基本上是被注入到每个标记选择器的属性列表。
但这是唯一需要的额外步骤,因为在这之后,真正的模板将被解析,当它被解析时,这些属性将由解析器本身实时注入,这要感谢 AttoParser 中的节点选择的高级功能。因此,解析的节点会从解析器中解析出来,就像它们在原始模板文件中写入了注入的属性一样。
这样做的最大好处是什么?当一个模板被配置为缓存时,它将被缓存,已经包含注入的属性。所以对可缓存的模板使用解耦模板的开销,一旦它们被缓存,将绝对是零。