了解jsf ui的目的:组成

Ago*_*noX 7 jsf templates facelets

以下是什么有用的?

<ui:composition template="template.xhtml">;
Run Code Online (Sandbox Code Playgroud)

"在使用的模板客户端页面中<ui:composition>,忽略标记范围之外的任何内容,并且不包含在渲染输出中"(JavaServerFaces 2.0,完整参考,第61页)

因为外面的一切都<ui:define>被忽略了,为什么要放在那里?没有什么必须放在外面<ui:define>.

但是这样做,我得到的只是模板本身,只填充了一些"可变"部分.

这似乎不是什么大问题.我不明白的另一件事是,composition元素的template属性是可选的.如果没有引用模板,它代表模板客户端是什么?

Bal*_*usC 10

以下是什么有用的?

<ui:composition template="template.xhtml">
Run Code Online (Sandbox Code Playgroud)

通过这个,您可以声明使用具有占位符的基本模板来插入模板定义.这比反过来做的更有用.您需要一次又一次地在每个页面中包含页眉,页脚和/或菜单.使用模板,您无需执行此操作.它只是在模板中.


"在使用的模板客户端页面中<ui:composition>,忽略标记范围之外的任何内容,并且不包含在渲染输出中"(JavaServerFaces 2.0,完整参考,第61页)

因为外面的一切都被忽略了,为什么要放在那里?没有什么必须放在外面<ui:define>.

你不需要这样做.你为什么这样?好吧也许基础教程可以做到这一点,但这只是为了演示目的."这不会包含在渲染输出中"等等.另一方面,如果您碰巧使用可视化编辑器,那么<ui:composition> 考虑外部内容.另请参见是否有办法在不构建整个项目的情况下运行JSF页面?


我不明白的另一件事是,composition元素的template属性是可选的.在没有引用模板的情况下,它会出现什么样的模板客户端?

一个简单的包含文件,您可以包含<ui:include>.

也可以看看: