在';Java游戏';?
使用在';Java游戏';?,java,templates,playframework,Java,Templates,Playframework,使用doLayout扩展时,只能有一个子模板,但可以包含多个子模板 区别是什么,最佳实践是什么?它们是一种相反的关系 doLayout用作extends标记的一部分。extends标记指定要扩展的模板,而doLayout标记指定代码在扩展模板中的插入位置 include标记只是指定应在指定点注入另一个模板 因此,doLayout的工作方式与include类似,只是doLayout标记没有指定要注入的模板。这是由extends标记完成的,这意味着模板(通常包含页眉、页脚和常见的css和javasc
doLayout
扩展时,只能有一个子模板,但可以包含多个子模板
区别是什么,最佳实践是什么?它们是一种相反的关系
doLayout
用作extends
标记的一部分。extends标记指定要扩展的模板,而doLayout
标记指定代码在扩展模板中的插入位置
include
标记只是指定应在指定点注入另一个模板
因此,doLayout的工作方式与include类似,只是doLayout标记没有指定要注入的模板。这是由extends标记完成的,这意味着模板(通常包含页眉、页脚和常见的css和javascript)可以扩展,而不需要知道任何关于扩展它的模板的信息
Include
,只是一个愚蠢的代码注入
如果您想通过includes实现doLayout功能(这是您在PHP或类似的东西中实现的方式),您可以这样做
#{include 'header.html'}
your template code
#{include 'footer.html'}
这必须在模板中的每个页面上复制。而使用扩展
和doLayout
只需
#{extends 'template.html'}
代码注入template.html的位置由doLayout标记管理
扩展方法只是一种更简洁的方法。此外,如果您决定更改页面布局,您只需更新一个文件,并在扩展模板中的内容位置上提供更大的灵活性。从中我注意到扩展(doLayout)、包含和标记之间的差异:
扩展和包含是相似的,区别主要在于
传递变量
使用extend,父模板提供样板文件,子模板提供子模板
模板提供了“主体”。例如,父模板可以呈现
页眉和页脚,子模板可以呈现
这一页。通常在子模板中设置要读取的变量
并应用于父模板中,例如{set title:'Pet shop'/}
或{set
showLoginBox:true/}
当您想在同一时间内多次执行相同的操作时,可以使用include
单亲模板。例如
{include'formStatusFields.html'/}
父模板中的变量可用于包含的模板
如果有一段模板代码是从多个
不同的父模板,应该使用标记。您可以将变量传递给
标签。如
{按钮标签:'Ok',id:'Ok-button'}