8
<ui:define name="description" rendered="false">
    <meta name="description" content="do not render" />
</ui:define>

このコードを xhtml ページで使用しています。アプリを実行すると、メタディスクリプションがまだレンダリングされます。条件によってはメタディスクリプションタグを使いたい。マスター レイアウト:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <ui:insert name="description" />
    </h:head>
    ...........
</html>

ウェブページ:

<ui:composition 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:p="http://primefaces.org/ui"
                template="/templates/masterLayout.xhtml">

    <ui:define name="description" rendered="false">
        <meta name="description" content="do not render" />
    </ui:define>
...........
</ui:composition>
4

1 に答える 1

16

は、ビューのレンダリング時に実行される<ui:define>ではなく、ビューのビルド時に実行されるタグ ハンドラです。したがって、この属性はサポートUIComponentされていません。renderedサポートされていない属性は無視されます。

<ui:fragment>代わりに使用してください。

<ui:define name="description">
    <ui:fragment rendered="false">
        <meta name="description" content="do not render" />
    </ui:fragment>
</ui:define>
于 2012-09-29T21:52:34.800 に答える