JSF ui:repeat 与 h:dataTable

JSF ui:repeat vs h:dataTable

在问这个问题之前,我访问了很多其他相关的,并试图收集尽可能多的信息。但是,到目前为止我的发现让我明白 ui:repeath:dataTable 之间没有 real/major 区别,而且只要我们可以使用 h:dataTable 我们也可以使用 ui:repeat(有时其中一个比另一个复杂一点,但最后我们得到相同的结果)。

那么,是否存在只能选择使用 h:dataTable 的用例?或者相反(唯一的选择是ui:repeat)?

is there any use cases where the only choice is to use h:dataTable?

  • 如果您想使用基于 UIData 的组件(UIRepeat 中缺少其所有特殊属性)。
  • 如果您想通过 JSF 组件呈现 HTML <table>
  • 如果您希望能够自定义 <table> 渲染(如 PrimeFaces <p:dataTable> 进行排序、过滤、分组、折叠、延迟加载等)。
  • 如果您不使用 Facelets 作为视图技术。

or the opposite (only choice is ui:repeat)?

  • 如果您不想要上述任何一种,因此需要一个纯无标记迭代组件。
  • 如果您希望能够在迭代期间跳过每个 n 个项目(使用 step 属性)。