-1

就像标题一样,有没有像 PrimeFaces 或 RichFaces 这样的面向模板的库?

我正在构建自己的,包括一些固定/液体/弹性基础布局,但我想知道是否有人已经完成了这项无聊的工作。

更新

对不起,我没有解释自己。我说的是一种由模板树(和可选的bean)组成的框架上的框架。我目前正在使用这个根模板,它与一些 bean 和实体捆绑在一个 jar 文件中,用于我的所有应用程序:

<!DOCTYPE html>
<html lang="#{localeBean.locale.language}" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:p="http://primefaces.org/ui" 
    xmlns:o="http://omnifaces.org/ui" 
    xmlns:s="http://shapeitalia.com/jsf2" 
    xmlns:sc="http://java.sun.com/jsf/composite/shape">

    <f:view locale="#{localeBean.locale}">
        <h:head>
            <title><ui:insert name="module"/> - <ui:insert name="title"/></title>
            <link rel="shortcut icon" type="image/x-icon" href="#{resource['shape/favicon/shape.ico']}" />
            <h:outputStylesheet library="shape" name="css/core.css" />
            <h:outputStylesheet library="shape" name="css/fileicons.css" />
            <h:outputScript library="shape" name="js/jquery.jsPlumb-1.3.15-all.js" />
            <h:outputScript library="shape" name="js/core.js" />
        </h:head>

        <h:body>
            <ui:debug hotkey="x" />
            <p:growl id="messages" globalOnly="false" autoUpdate="true" showDetail="true" showSummary="true" />

            <p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();" />

            <p:dialog modal="true" widgetVar="statusDialog" header="loading..." resizable="false" closable="false">
                <h:graphicImage library="shape" name="images/ajaxloadingbar.gif" />
            </p:dialog>

            <div>
                <ui:insert name="header">
                    <h:form>
                        <s:panelGrid cellStyle="border: 0;">
                            <s:column style="text-align: left;">
                                <p:commandLink action="index" >
                                    <h:graphicImage library="shape" name="images/shape.png" height="30px" style="vertical-align: middle; float: left; border: 0"/>
                                </p:commandLink>
                            </s:column>
                            <s:column style="text-align: right;">
                                <p:menuButton rendered="#{not empty request.userPrincipal}" value="#{request.userPrincipal.name}" style="float: right">
                                    <p:menuitem actionListener="#{sessionBean.logout}" action="index" ajax="false" icon="ui-icon-power" value="#{bundle.logout}"/>
                                </p:menuButton>
                            </s:column>
                        </s:panelGrid>
                    </h:form>
                </ui:insert>
            </div>

            <h:panelGroup rendered="#{not empty request.userPrincipal}">
                <ui:insert name="content">insert content here</ui:insert>
            </h:panelGroup>

            <h:panelGroup rendered="#{empty request.userPrincipal}">
                <h:form>
                    <p:panel header="login">
                        <h:panelGrid columns="3">
                            <h:outputLabel for="login_email" value="Email:" />
                            <h:outputLabel for="login_password" value="Password:" />
                            <h:panelGroup />

                            <p:inputText id="login_email" value="#{requestScope.email}" label="email" size="32"/>
                            <p:password id="login_password" value="#{requestScope.password}" label="password" feedback="false" size="32"/>
                            <p:commandButton value="Login" action="#{sessionBean.login}" icon="ui-icon ui-icon-check" ajax="false"/>

                            <p:message for="login_email" />
                            <p:message for="login_password" />
                            <h:panelGroup />
                        </h:panelGrid>
                    </p:panel>
                </h:form>
            </h:panelGroup>


            <ui:insert name="external" />

        </h:body>
    </f:view>
</html> 

这只是根之一。

我想知道是否有人已经完成了这样的工作并捆绑了它

4

1 回答 1

0

好的,没有这样的事情。

最好的组件有p:layout.

于 2012-10-24T00:56:58.947 回答