2

我对 JSF 非常陌生,当我阅读教程时,我很容易混淆 JSF 和 Facelets...

什么是 Facelets?..JSF 和 Facelets 是一样的吗?...

Facelets 与 JSTL 有何不同?

4

1 回答 1

5

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

于 2012-06-21T05:23:04.220 回答