facelet - 嵌套<ui:insert> </ui:insert>

时间:2010-04-20 13:54:04

标签: facelets

我有多个模板,这些模板之间只有少量容器不同。最复杂的一个包含所有其他所有容器的超集,从而避免创建多个模板,我按以下格式创建了最复杂的模板

<ui:insert name="container1">
 some layout stuff (div and all)
 <ui:insert name="container1Content">
 </ui:insert></ui:insert>

为每个容器和内容定义嵌套插入。

现在根据需要在客户端模板中 我关掉了不需要的容器

<ui:define name="container1/>

否则,如果需要容器,只需将内容定义为

<ui:define name="container1Content">doSomething</ui:define>

如果您发现此方法有任何问题,任何潜在问题或类似情况的替代方法,请与我们联系。

非常感谢。

麦迪

1 个答案:

答案 0 :(得分:1)

Facelets的UI Insert标签是模板标签,因此您可以正确使用它。

在之前的项目中,我使用Facelets实现了多个布局,并使用ui-insert插入了多个占位符,这允许使用这些布局的应用程序自定义其部分(例如,修改页面标题,在头部插入自定义内容)的文件,......