它们彼此相反.
doLayout用作extends标记的一部分. extends标记指定要扩展的模板,doLayout标记指定扩展模板中注入代码的位置.
include标记只是指定应在指定的点注入另一个模板.
因此,doLayout以类似的方式工作,除了doLayout标记没有指定注入哪个模板.这是通过extends标签完成的,这意味着模板(通常包含页眉,页脚和常见的css和javascript)可以扩展,而不需要知道任何有关扩展它的模板的信息.
包括,只是一个愚蠢的代码注入.
如果你想用includes实现doLayout功能(这就是你在PHP或类似的东西中使用它的方式),你可以做
#{include 'header.html'}
your template code
#{include 'footer.html'}
这必须在模板中的每个页面上复制.而使用extends和doLayout只允许您这样做
#{extends 'template.html'}
您的代码注入template.html的位置由doLayout标记管理.
扩展方法只是一种更简洁的方法.此外,如果您决定更改页面布局,则只需更新一个文件,并在内容位于扩展模板中的位置提供更大的灵活性.