JSF ui:repeat 与 h:dataTable
JSF ui:repeat vs h:dataTable
在问这个问题之前,我访问了很多其他相关的,并试图收集尽可能多的信息。但是,到目前为止我的发现让我明白 ui:repeat
和 h: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
属性)。
在问这个问题之前,我访问了很多其他相关的,并试图收集尽可能多的信息。但是,到目前为止我的发现让我明白 ui:repeat
和 h: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
属性)。