什么是Facelets以及它与JSF有什么关系?

use*_*719 2 java jsf facelets

对JSF来说很新,当我阅读教程时,我很容易在JSF和Facelets之间混淆......

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

Facelets与JSTL有何不同?

Jul*_*ale 5

Facelets是一种功能强大但轻量级的页面声明语言,用于使用HTML样式模板构建JavaServer Faces视图并构建组件树.Facelets功能包括以下内容:

·使用XHTML创建网页
·除了JavaServer Faces和JSTL标记库之外,还支持Facelets标记库
·支持表达式语言(EL)
·模板化组件和页面

基本上,Facelets允许您添加模板标记库(XML文档),如果您使用JSF,则可以在html页面中添加UI控件.这个声明是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>
Run Code Online (Sandbox Code Playgroud)

总之,Facelets为UI控件提供工具(模板标记库),JSF允许使用back-bean传递此控件.

http://en.wikipedia.org/wiki/Facelets
http://docs.oracle.com/javaee/6/tutorial/doc/gijtu.html