我对 JSF 非常陌生,当我阅读教程时,我很容易混淆 JSF 和 Facelets...
什么是 Facelets?..JSF 和 Facelets 是一样的吗?...
Facelets 与 JSTL 有何不同?
Facelets 是一种功能强大但轻量级的页面声明语言,用于使用 HTML 样式模板构建 JavaServer Faces 视图并构建组件树。Facelets 功能包括:
·使用 XHTML 创建网页
·除了 JavaServer Faces 和 JSTL 标记库之外,还支持 Facelets 标记库
·支持表达式语言 (EL)
·组件和页面的模板
基本上,如果您使用 JSF,Facelets 允许您添加对在 html 页面中添加 UI 控件很有用的模板标记库(XML 文档)。这个声明是 Facelets 的一个例子:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
<!-- look at the xml library 'import' -->
<body>
<h:form>
<h:outputText value="Welcome, #{loggedInUser.name}" disabled="#{empty loggedInUser}" />
<h:inputText value="#{bean.property}" />
<!-- look at this tags, the special mark 'h:outputText'... -->
<h:commandButton value="OK" action="#{bean.doSomething}" />
</h:form>
</body>
</html>
总之,Facelets 为 UI 控件提供了工具(模板标记库),而 JSF 允许此控件与后台 bean 进行通信。
http://en.wikipedia.org/wiki/Facelets
http://docs.oracle.com/javaee/6/tutorial/doc/gijtu.html