理解 jsf ui:composition 的目的

2024-01-05

下面的有什么用处?

<ui:composition template="template.xhtml">;

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

既然外面的一切<ui:define>被忽略了,为什么要放东西在那里?任何东西都不必放在外面<ui:define>.

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

这似乎没什么大不了的。 我不明白的另一件事是,组合元素的模板属性是可选的。如果没有引用模板,它代表什么?


下面的有什么用处?

<ui:composition template="template.xhtml">

这样您就可以声明使用带有占位符的基本模板来插入模板定义。这比相反的做法更有用。您需要一次又一次地在每个页面中包含页眉、页脚和/或菜单。使用模板,您不需要这样做。它只是放在模板中。


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

既然外面的一切都被忽略了,为什么还要把东西放在那里呢?任何东西都不必放在外面<ui:define>.

你不需要这样做。你为什么要这么做?好吧,也许基本教程就是这样做的,但这只是为了演示目的。“这不会包含在渲染输出中”等等。另一方面,如果您碰巧使用可视化编辑器,那么外部的内容<ui:composition> will被重视。也可以看看有没有一种方法可以在不构建整个项目的情况下运行 JSF 页面? https://stackoverflow.com/questions/10504190/is-there-a-way-to-run-a-jsf-page-without-building-the-whole-project


我不明白的另一件事是,组合元素的模板属性是可选的。在没有引用模板的情况下,它代表模板客户端什么?

一个简单的包含文件,您可以通过以下方式包含它<ui:include>.

也可以看看:

  • 如何使用 JSF 2.0 Facelets 在 XHTML 中包含另一个 XHTML? https://stackoverflow.com/questions/4792862/how-to-include-another-xhtml-in-xhtml-using-jsf-2-0-facelets
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

理解 jsf ui:composition 的目的 的相关文章

随机推荐