JSF ui:repeat与h:dataTable的区别

4
在提出这个问题之前,我查看了许多相关的问题并试图收集尽可能多的信息。但是,到目前为止我发现 ui:repeath:dataTable 之间没有真正/主要的区别,并且每当我们可以使用 h:dataTable 时,我们也可以使用 ui:repeat(有时其中一个比另一个更复杂,但最终我们得到相同的结果)。
那么,是否存在只能使用 h:dataTable 的用例?或者相反(只能使用 ui:repeat)?
1个回答

7

是否有只能使用h:dataTable的用例?

  • 如果您想要使用基于UIData的组件(其中所有特殊属性在UIRepeat中都不存在)。
  • 如果您想要通过JSF组件呈现HTML <table>
  • 如果您想要自定义<table>的呈现方式(例如PrimeFaces <p:dataTable>使用排序、过滤、分组、折叠、惰性加载等等)。
  • 如果您没有使用Facelets作为视图技术。

或者相反(只能使用ui:repeat)?

  • 如果您不需要上述任何功能,因此需要一个纯标记迭代组件。
  • 如果您想要在迭代过程中跳过每个n项(使用step属性)。

感谢@BalusC的及时回复。最后一个问题,关于ui:repeatstep属性,是否有h:datatable中的另一种替代方法? - Tarik
除了准备视图所需的模型之外,没有其他东西。更新的答案。 - BalusC
等等,Datatable 不是 Facelet 视图技术的一部分吗?我以为 Facelet 包含了每个 UI、F 和 H。 - Ced

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接