【问题标题】:What is the difference between JSF and Facelets?JSF 和 Facelets 有什么区别?
【发布时间】:2012-07-12 13:16:49
【问题描述】:

我正在学习 Java EE6 教程,但我不明白 JSF 和 Facelets 之间的区别。第 4 章有一个“开发简单的 JavaServerFaces 应用程序”部分,第 5 章有一个“开发一个简单的 Facelets”应用程序部分,据我所知,这两个示例使用完全相同的过程 - 用于标记的 .xhmtl 页面,一个支持 bean 来保存一些数据,然后是一个 web.xml 文件,它将 url 映射到“FaceletsServlet”。

据我所知,Facelets 是带有 和 等标签的 .xhtml 页面,用于标记网页。

那么什么是JSF?我读过 JSP 或 Facelets 都可以与 JSF 一起使用,这是否意味着 JSF 的作用是提供 JSP 或 Facelets 使用的标签库?

【问题讨论】:

标签: jsf facelets


【解决方案1】:

JSF 就像您可能已经收集了一个基于组件的系统一样。这些组件被组织在库中。

JSF 是基础标准,定义了标准 taglibs 核心和 html。其中包括输入字段、按钮、标签和链接等基本元素的标签。 Facelets 是 facelets 标签库,它最初是单独分发的,但现在它包含在 JSF 标准中。 Facelets 包含可用于模板的标签,如 ui:composition、ui:insert 和 ui:define。还有许多其他标签库可以与 JSF 一起使用,例如 primefaces、richfaces、tomahawk 和 trinidad。

【讨论】:

    【解决方案2】:
    • JSF - Java Server Faces 是首要的应用程序开发框架。它包含许多方面,其中之一是视图处理程序。 JSF (Wikipedia)JSF (Stack Overflow)

    • Facelets 是 JSF 的视图处理程序。在 JSF 2.0 之前,JSP 是默认的视图处理程序,但问题是 JSP 不能很好地与 JSF 的基于组件的框架一起工作。 Facelets 的设计初衷就是为了与 JSF 很好地协同工作。 Facelets (Wikipedia), Facelets (Stack Overflow)

    标签库是 JSF 规范的不同部分。它们是 UI 组件的集合。 Facelets 不是标签库,许多标签库都可以与 Facelets 一起使用。

    【讨论】:

      【解决方案3】:

      在我们使用 jsp 之前,JSF 与 Facelets 一起使用。 Facelet 是一种基于 xml 的视图技术。

      Facelets 最初是作为 JSF 1.1 和 JSF 1.2 的独立替代视图声明语言创建的,它们都使用 JSP 作为默认视图声明语言。从 JSF 2.0 开始,JSF 专家组将 Facelets 推广为默认的视图声明语言。 JSP 已被弃用。

      facelets 提供的重要功能是模板、复合组件、内容重用。

      http://www.ibm.com/developerworks/library/j-facelets/

      【讨论】:

        猜你喜欢
        • 2011-01-12
        • 2010-12-23
        • 2011-08-27
        • 2011-01-06
        • 2011-07-13
        • 1970-01-01
        • 2014-01-20
        • 1970-01-01
        • 2010-12-28
        相关资源
        最近更新 更多