2

HTMLファイルのコンテンツをFaceletテンプレートに挿入する方法はありますか? Facelets タグは、Facelet コンテンツを含めるためだけのものであるため、機能しません。

別の言い方をすれば、JSP の include ディレクティブに相当する Facelets を探しています<%@ include file="..." %>

4

4 に答える 4

4

必要なものがわからない場合がありますが、 faceletsコンテンツに限定されるものではなく、このリンク<ui:include>に従って、有効なxhtmlを挿入できます。

次のfaceletsファイル(test.jsp)を検討してください。

<!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:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

    <body>
        <f:view>
            <h:outputText value="Text outside include"/>
            <ui:include src="testinclude.html"/>
        </f:view>
    </body>
</html>

そして次のHTMLファイル(testinclude.html):

<h2>Text from included page</h2>

ページにHTMLコンテンツが正しく含まれています。これ<ui:include>は、ファセットテンプレートで使用する場合にも当てはまります。

于 2009-09-29T08:40:37.223 に答える
1

Omnifaces<o:resourceInclude>を使用して、任意のコンテンツを直接応答に含めることができます。つまり、.xml のように整形式の xml である必要はありません<ui:include>。また、JSF ページのセクションにコンテンツを含めることもできます<h:head>。これは、他の方法では実現が困難です。

http://showcase.omnifaces.org/components/resourceInclude

于 2015-11-04T18:49:46.687 に答える
1

Facelets の唯一のインクルード メカニズムは です。これは、任意のコンテンツを含めることを許可せず、適切にフォーマットされた XML のみを含めます。Facelets には、JSP の include ディレクティブに相当するものはありません。

于 2009-10-05T21:17:54.640 に答える
1

これはこれに対する解決策を説明しています: http://arjan-tijms.omnifaces.org/2010/04/facelets-and-legacy-jsp.html

このソリューションには、JSP またはサーブレットのコンテンツを文字列にロードし、通常の応答ライターを介してレンダリングする単純な UI コンポーネントの構築が含まれます。

于 2010-05-02T21:50:33.397 に答える