p:panelGrid究竟是如何扩展h:panelGrid的

时间:2015-07-06 15:22:08

标签: jsf jsf-2 primefaces

我正在使用Primefaces,我知道p:panelGrid扩展h:panelGrid正如documentation中明确说明的那样。

但是我看不出它们之间的确切区别。 p:panelGrid提供了哪些额外的功能?在哪些情况下,我更喜欢使用Primefaces版本而不是HTML Basic版本?

虽然p:panelGrid扩展了h:panelGrid,但它实际上缺少h:panelGrid包含的许多属性。最终让我感到困惑。

1 个答案:

答案 0 :(得分:2)

我不能代表PrimeFaces的实际意图(我不是PrimeFaces开发人员),但根据我迄今为止的观察结果,我只能得出结论,他们忽略了仅在HTML视角中引用不良做法的属性(主要是HTML-不推荐使用的属性 - 使用CSS代替)或者没有其他意义(并且在父或子组件中更好)。我只能说这是件好事。

source code进一步检查后,我还可以确认它在技术上不是从<h:panelGrid>HtmlPanelGrid类)延伸,而是从UIPanel超类(从ao <h:panelGroup>)也使用了它。如the showcase

所示,这种设计决策最有可能在渲染输出中具有更大的灵活性

通常,只要您开始真正需要增强/新功能,就应该只选择增强型组件。这通常只有在您发现自己确实需要这样一个功能并发现它在标准组件中缺失时才会发生。然后,您通常已经知道了您正在寻找的关键字,并且如果它们尚未实现,则只需使用这些关键字开始探索组件库。