如何包含另一个应用程序上下文的Facelet

时间:2014-10-21 16:51:08

标签: jsf jsf-2 include facelets

如何包含其他应用程序上下文的Facelet?我正在构建一个Content Manager应用程序,其中这个应用程序有一个包含菜单栏的XHTML,每个子菜单都有要启动的相应应用程序的url,我需要在此页面中包含用户选择的应用程序。

Content Manager应用程序的索引页面,位于http://localhost:8080/JSFApplication1/index.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:t="http://myfaces.apache.org/tomahawk"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns:p="http://primefaces.org/ui">

<ui:composition template="./template.xhtml">

    <ui:define name="content">
        <h:body>
            <f:facet name="last">
                <h:outputStylesheet library="css" name="theme.css" />
            </f:facet>
            <h:form id="form1">
                <p:messages id="messages" showSummary="false" showDetail="true"
                    autoUpdate="true" closable="true" />
                <p:dialog id="errorUsuario" header="Error Usuario" modal="true"
                    minimizable="false" maximizable="false" closeOnEscape="false"
                    closable="false"
                    visible="#{ContentManagerBackingBean.verPopupErrorUsuario}"
                    height="100">
                    <h:outputText value="#{ContentManagerBackingBean.mensajePopUp}" />
                </p:dialog>

                <p:menubar model="#{ContentManagerBackingBean.menubarModel}"/>


                <ui:include src="../../JSFAplicaionNueva/index.xhtml" /> 

            </h:form>


        </h:body>
    </ui:define>

</ui:composition>
</html>

其他应用的页面,位于http://localhost:8080/JSFApplication2/index.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:t="http://myfaces.apache.org/tomahawk"
        xmlns:fn="http://java.sun.com/jsp/jstl/functions"
        xmlns:p="http://primefaces.org/ui">

    <ui:composition template="./template.xhtml">

        <ui:define name="content">
            <h:body>
                THIS IS THE CONTNET OF THE OTHER APPLICATION
            </h:body>
        </ui:define>

    </ui:composition>
    </html>

include dosen工作,因为它只接受包含在同一目录中的页面,并且我需要访问保存服务器中其他项目中包含的页面。

我知道我可以使用iframe但我还需要其他解决方案。

0 个答案:

没有答案