gpt4 book ai didi

jsf - JSF 自定义复合组件与自定义经典组件有什么区别

转载 作者:行者123 更新时间:2023-12-04 14:21:20 28 4
gpt4 key购买 nike

我想构建一个自定义 JSF 组件。现在我从 oracle 阅读了一些文档并看到了一些代码示例。问题是我有点困惑:

似乎有两种方法可以使用 JSF 2.0+ 构建自定义组件。据我了解,自 JSF 2.0 以来,我可以使用这些复合组件来构建我自己的组件。

但是与“经典”组件相比,它们有什么缺点吗?

当我使用 Compisite Components 时,我的组件会相当复杂,我是否会丢失任何东西(除了向下兼容性)?

例如,我的组件将在 java 中有一些工作要做,复合组件可以做到这一点吗?

最佳答案

如果您想通过纯 XML 方式将一堆密切相关的现有标签/组件/HTML 表示为单个且可重用的组件,则复合组件非常有用。
当有 时,自定义组件将是唯一的方法。没有可用于实现需求的标准 JSF 标记/组件。例如。 <input type="file"> , <input type="range">等。请注意,这样的自定义组件可以在需要的时候依次用于组合中。
完全有道理,对吧?
您可以创建一个所谓的“支持组件”类扩展 UINamingContainer (或至少实现 NamingContainer )并通过 <cc:interface componentType> 将其绑定(bind)到复合 Material . You can find several examples in my answers here .
但是请注意,有时复合组件不适合,您需要创建一个标记文件。例如,当您想拥有一个自定义且可重复使用的 <h:column> .
也可以看看:

  • When to use <ui:include>, tag files, composite components and/or custom components?
  • 关于jsf - JSF 自定义复合组件与自定义经典组件有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12847003/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com