JSF和Facelets有什么区别?

Jim*_*_CS 17 jsf facelets

我正在关注Java EE6教程,我不明白JSF和Facelets之间的区别.第4章有一节"开发一个简单的JavaServerFaces应用程序",第5章有一节"开发一个简单的Facelets"应用程序,据我所知,这两个例子都使用完全相同的过程 - 标记的.xhmtl页面,一个用于保存一些数据的辅助bean,然后是一个将url映射到'FaceletsServlet'的web.xml文件.

从我可以收集到的Facelets是带有标记的.xhtml页面,例如用于标记网页的<h:head>和<h:inputText>.

但那JSF是什么?我已经读过JSP或Facelets可以和JSF一起使用,这是否意味着JSF的作用是提供JSP或Facelets使用的标记库?

Mal*_*ith 31

  • JSF - Java Server Faces是总体应用程序开发框架.它包含许多方面,其中一个是视图处理程序.JSF(维基百科),JSF(Stack Overflow).

  • Facelets是JSF的视图处理程序.在JSF 2.0之前,JSP是默认的视图处理程序,但问题是JSP在JSF的基于组件的框架上不能很好地工作.Facelets是从头开始设计的,可以很好地与JSF配合使用.Facelets(维基百科),Facelets(Stack Overflow)

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


Eel*_*lke 11

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

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