gpt4 book ai didi

jsf - 何时适本地编写自定义组件?

转载 作者:行者123 更新时间:2023-12-04 06:14:59 24 4
gpt4 key购买 nike

在设计我的 jsf 页面时,我意识到某些组件在我的应用程序的不同布局中至少被重用了两次或三次。例如,假设情况是 vote-up SO 上的按钮在 topic questions page 中多次包含(这不是实际情况)和(以不同的布局)在特定问题页面上的每个帖子上。

所以我担心的是,由于我的一些组件被重复使用了两次(在不同的布局中),(例如投票按钮或帖子上的选项栏)我应该将我的标记放在自定义组件中并使用这些组件代替在多个地方编写相同的代码。在为频繁渲染的组件选择自定义组件时是否需要考虑性能问题?

并且 JSF 组件的标记是否在构建期间或渲染期间转换为 html?

最佳答案

在您问题的最简单的部分,我会说在使用自定义组件与内嵌 facelet 标签方面没有明显的性能问题。尽管对您来说看起来很复杂,但 Faclets servlet 仍然必须通过任何一种方式挑选和编译大约相同数量的 XML 元素。

除了 BalusC 链接到的主题中讨论的问题之外,我要补充的是 JSF 可扩展性的主要目的是允许开发人员尽可能地重用代码。一个相关的好处是您的 Facelet 客户端页面(使用模板的页面)将尽可能地紧凑和简洁,就像 XML 标记一样。

我的经验是这可能是一把双刃剑。您可能会花费大量的开发时间坐下来调整自定义组件,而您最好只是“妥协”,然后将工作页面的剪切和粘贴操作从一个工作页面复制到另一个页面,以完成工作。这就是您真正需要权衡的地方。如果您想尽快部署您的应用程序,您真的不想进入另一个 Faces 组件库开发项目。

我的建议是尽可能地忽略所有的奇闻异事(Javascript 交互式图形等),并尽可能使用无聊的旧 JSF 基本组件来编写应用程序。让它与将完成这项工作的最简单的组件一起工作。应用程序运行后,您可以返回并重新设计表示层(Facelets 标记)以优化为可重用组件或更高功能的组件,例如 RichFaces、IceFaces、PrimeFaces 或 *Faces 中的组件。

关于jsf - 何时适本地编写自定义组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7374226/

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