gpt4 book ai didi

java - Primefaces 来源 jsf

转载 作者:行者123 更新时间:2023-11-30 09:50:40 30 4
gpt4 key购买 nike

我已经下载了 primefaces 源代码,看看是否可以从中学习。该 jar 包含一堆使用编写器来处理渲染等的 java 类。我期待找到一些 .xhtml 文件

<ui:composition> ... </ui:composition> and <cc:interface> etc etc

无论如何,这让我开始思考,是否有另一种方法来编写 facelets 和复合组件,或者他们将所有内容都写在 xhtml 文件中,然后将它们编译为 java 类?对不起,如果我的问题很荒谬,我是 JSF 的新手。

最佳答案

模板文件和复合组件只是为了最终用户的方便,因为它们很容易编写和使用。基本的 JSF 实现(f:h: 组件)和组件库,如 PrimeFaces使用完全有值(value)的 UI 组件。这些是扩展 JSF 的类 UIComponent 类(class)。

开发UIComponent类相对复杂和笨拙。在开发它们时你必须考虑很多事情,例如编写标记文件(你必须在 XML 文件中定义每个属性)、配置文件(将组件和渲染器相互链接)等,但是您最终会得到一个更加模块化和可重用的模型以及更高的效率。它们甚至可用于普通的旧 JSP 文件。

Facelets 模板与未编译为 Java 类的 JSP 文件不同。它们只是由 SAX (XML) 解析器加载和执行,该解析器本身已经用 Java 编写。


更新 根据评论:如果涉及相对较多的与 View 无关的业务/条件逻辑,例如堆,它通常会表现得更好的 <c:if> , <c:choose>基于非用户控制输入的 etc 标签。

本书JSF 2.0 The Complete Reference还在 chapter 10 "Noncomposite components" 中介绍了自定义 UIComponent 开发. Java EE 5 教程 covers它也是,但它是针对 JSF 1.2 的。不幸的是,它不在 Java EE 6 tutorial 中对于 JSF 2,虽然技术没有改变,但是有几个您需要了解的新注释。

关于java - Primefaces 来源 jsf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5037383/

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