2012-03-22 6 views
4
<ui:composition xmlns="http://www.w3.org/1999/xhtml" 
    ... 
    template="inputLayout.xhtml"> 

    <composite:interface> 
     <composite:attribute name="name" /> 
     <composite:attribute name="value" /> 
    </composite:interface> 

    <composite:implementation> 
     <!-- <ui:define name="content"> --> 
      <h:message for="textPanel" style="color:red;" /> 
      #{cc.attrs.name} : 
      <h:inputText id="name" value="#{cc.attrs.value}" /> 
     <!-- <ui:define> --> 
    </composite:implementation> 
</ui:composition> 

ui:defineであってもコンテンツが表示されるという問題があります。 だから、ui:defineは無視されるか、何か不足していますか?おかげさまで 複合コンポーネントを含むテンプレートをJSF 2で使用できますか?

答えて

6

これは実際には機能しません。代わりに実装内に<ui:decorate>が必要です。

<ui:component 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:cc="http://java.sun.com/jsf/composite" 
> 
    <cc:interface> 
     ... 
    </cc:interface> 
    <cc:implementation> 
     <ui:decorate template="/WEB-INF/inputLayout.xhtml"> 
      <ui:define name="content"> 
       ... 
      </ui:define> 
     </ui:decorate> 
    </cc:implementation> 
</ui:component> 
+0

@BalusCに感謝します。私は知らなかった kycdev

関連する問題