facelets和#x27;用户界面:包含和自定义标记?

facelets和#x27;用户界面:包含和自定义标记?,facelets,Facelets,Ui:include和基于xhtml的标记(带有源elt的标记)对我来说似乎差不多。两者都允许重用一段标记。但我相信每一个都是有原因的。有人能简要解释一下吗?(我想如果我阅读完整的facelets教程,我会学习它,但我现在没有时间做,所以请不要链接到冗长的文档:)它们非常相似。区别主要是句法上的 在观察它们的用法一段时间后,似乎惯例是,您仅在单一情况下使用的片段是ui:include的候选片段,而您更经常重复使用且具有更独立语义的片段是定制标记的候选片段 例如 单个视图可能有一个包含三个部分的窗

Ui:include和基于xhtml的标记(带有源elt的标记)对我来说似乎差不多。两者都允许重用一段标记。但我相信每一个都是有原因的。有人能简要解释一下吗?(我想如果我阅读完整的facelets教程,我会学习它,但我现在没有时间做,所以请不要链接到冗长的文档:)

它们非常相似。区别主要是句法上的

在观察它们的用法一段时间后,似乎惯例是,您仅在单一情况下使用的片段是ui:include的候选片段,而您更经常重复使用且具有更独立语义的片段是定制标记的候选片段

例如

单个视图可能有一个包含三个部分的窗体;个人资料、工作经历、偏好。如果页面变得笨拙,您可以将其分成更小的部分。这3个部分中的每一部分都可以移动到它们自己的Facelet文件中,然后将ui包含到原始文件中

另一方面,您可能有一种特定的方式在应用程序的许多视图上显示图像。也许你在它周围画一条线,在它下面有一些文本等等。你不必一遍又一遍地重复这个,你可以将它再次抽象到它自己的Facelet文件中。虽然您可以将ui:include包含在内,但大多数人似乎更喜欢在此处创建标记,因此您可以在Facelets上使用例如
。这看起来更好(更紧凑,与其他组件更内联)


在与JSF2.0捆绑在一起的Facelets版本中,简单的标记可以被复合组件所取代。这是第三个变体,乍一看很像自定义标记,但这些东西在技术上是不同的,因为它们不仅仅是一个包含,而是代表具有声明属性的真正组件,能够将验证器附加到这些组件上,等等。

它们非常相似。区别主要是句法上的

在观察它们的用法一段时间后,似乎惯例是,您仅在单一情况下使用的片段是ui:include的候选片段,而您更经常重复使用且具有更独立语义的片段是定制标记的候选片段

例如

单个视图可能有一个包含三个部分的窗体;个人资料、工作经历、偏好。如果页面变得笨拙,您可以将其分成更小的部分。这3个部分中的每一部分都可以移动到它们自己的Facelet文件中,然后将ui包含到原始文件中

另一方面,您可能有一种特定的方式在应用程序的许多视图上显示图像。也许你在它周围画一条线,在它下面有一些文本等等。你不必一遍又一遍地重复这个,你可以将它再次抽象到它自己的Facelet文件中。虽然您可以将ui:include包含在内,但大多数人似乎更喜欢在此处创建标记,因此您可以在Facelets上使用例如
。这看起来更好(更紧凑,与其他组件更内联)

在与JSF2.0捆绑在一起的Facelets版本中,简单的标记可以被复合组件所取代。这是第三个变体,乍一看很像自定义标记,但这些东西在技术上是不同的,因为它们不仅仅是一个include,而且代表具有声明属性的真正组件,能够将验证器附加到这些组件上,等等