2011-12-10 3 views
1

Я создаю составной компонент, чтобы заменить popfaces в моем проекте. Я обнаружил что-то очень плохое в сгенерированном html, появляется странный идентификатор, и я не могу найти, где находится этот идентификатор, поэтому я подозреваю, что этот идентификатор генерируется составным компонентом. Мне нужно удалить этот идентификатор, чтобы обновить только тот контент, который мне нужен ... Итак, есть ли способ отключить этот компонент, сгенерировав этот идентификатор?Как создать составной компонент, который не является NamingContainer

для Ilustration:

<c:interface> 
    <c:attribute name="titulo" default="sem titulo" required="false" /> 
    <c:attribute name="renderizar" default="false" required="false" /> 
    <c:facet name="conteudo" /> 
</c:interface> 

<c:implementation> 
    <h:outputStylesheet library="css" name="hrgiPopup.css" target="head" /> 
    <h:outputStylesheet library="css" name="clearfix.css" target="head" /> 
    <h:outputScript library="js" name="hrgiPopup.js" target="head" /> 
    <h:panelGroup layout="block" rendered="#{cc.attrs.renderizar}" 
    class="hrgi-dialog-panel clearfix"> 
    <h:panelGroup layout="block" class="hrgi-dialog-overlay clearfix"></h:panelGroup> 
    <h:panelGroup layout="block" class="hrgi-dialog-box clearfix"> 
     <h:panelGroup layout="block" class="hrgi-dialog-title clearfix"> 
      <h:outputLabel style="float:left" value="#{cc.attrs.titulo}" /> 
     </h:panelGroup> 
     <h:panelGroup layout="block" class="hrgi-dialog-background clearfix"> 
      <h:panelGroup layout="block" class="hrgi-dialog-content clearfix"> 
       <c:renderFacet name="conteudo" required="true" /> 
      </h:panelGroup> 
     </h:panelGroup> 
    </h:panelGroup> 
</h:panelGroup> 

ответ

1

Просто дайте составной компонент фиксированный идентификатор, так что JSF не будет осуществлять автоматическую генерацию его.

<hrgi:dialog id="foo" /> 

Нет, вы не можете его отключить. В противном случае было бы невозможно использовать несколько составных компонентов в одном представлении. Альтернативой является использование файла тегов Facelets. Но это не допускает мелкозернистой декларации и лучшего определения атрибутов, действий, граней и т. Д.

+2

Что может понадобиться JSF, это то, что работает как тег facelets, но все же имеет интерфейс и автоматически распознается как составные компоненты. –

+0

Спасибо Balusc. Я не могу поверить, что просто забыл об этом. :) – brevleq

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

  • Нет связанных вопросов^_^