2012-03-22 3 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

Смежные вопросы