【问题标题】:Primefaces sources jsfPrimefaces 来源 jsf
【发布时间】:2011-06-29 13:44:21
【问题描述】:

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

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

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

【问题讨论】:

    标签: java jsf primefaces composite-component


    【解决方案1】:

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

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

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


    更新 根据评论:如果涉及的业务/条件逻辑相对较多,与视图无关,例如堆,它通常会执行得更好&lt;c:if&gt;&lt;c:choose&gt; 等标签基于非用户控制的输入。

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

    【讨论】:

    • 所以如果我编写从 UIComponent 扩展的组件,我可以获得更好的结果吗?有没有这方面的书?
    【解决方案2】:

    如果您想修补 primefaces2 的来源,还有一个建议。它使用org.primefaces.maven-jsf-plugin 生成许多.java 文件。我曾经尝试修补其中一个,我很惊讶在mvn package 之后更改总是丢失

    【讨论】:

      猜你喜欢
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 2014-12-02
      相关资源
      最近更新 更多