2010-09-15 4 views
0

J'ai des problèmes avec la création d'un contrôle de composition Facelet (= étiquette personnalisée).contrôle de composition de facelet (étiquette personnalisée) avec liaison

C'est le modèle du composant (numberinput.jspx). J'ai déclaré le dans mon custom-taglib.xml.

Jusqu'à présent, l'inclusion fonctionne à l'aide de ce code:

<ft:numberInput nullablenumber="true" cid="myId" 
         bind="#{myBean.mySpecialComponent}" 
         value="#{myBean.license.myProperty }" 
          label="My Label"/> 

C'est le modèle:

<div id="c_#{cid}" 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:jsp="http://java.sun.com/JSP/Page" 
    xmlns:ice="http://www.icesoft.com/icefaces/component" 
    xmlns:ft="http://www.mycomp.com/facelets" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" style="overflow:auto" > 
    <ui:composition>  
    <ice:message for="#{cid}"></ice:message> 
    <ice:outputLabel for="#{cid}">#{label }</ice:outputLabel> 

    <ice:inputText   
     id="#{cid}" 
     value="#{value}"   
     style="#{style }" 
     required="false" 
     disabled="#{disabled }" 
     binding="#{ bind}" 
     >  
     <f:validator validatorId="notnull"/>  
     <f:converter converterId="nullableNumber"/> 

    </ice:inputText> 
    </ui:composition> 


</div> 

Mes problèmes se posent quand j'ai plusieurs de ces balises sur ma page. J'ai l'impression que Facelets devient confus et affiche seulement un ensemble de ceux-ci, c'est vraiment très étrange.

Est-ce qu'il y a quelque chose qui ne va pas avec mon code ou est-ce que Facelets est aussi buggé qu'il y paraît?

Merci beaucoup. D'après mon expérience actuelle, je ne peux que décourager quiconque d'utiliser des étiquettes personnalisées Facelets (au moins lorsque la liaison de composants est utilisée).

Info Environnement: J'utilise ICEFaces 1.8.2 et Tomcat 6

+0

S'il vous plaît élaborer des « mes problèmes ». – BalusC

+0

Merci, mon élaboration (plutôt courte) a été mangée par une étiquette non fermée ... – hugri

Répondre

1

Problème trouvé! La raison de ces problèmes était que j'avais une deuxième glace: contrôle inputText qui était lié à la même probité de haricot backend. il semble que cela cause beaucoup de problèmes pour la génération d'arborescence de composants JSF.

Ma faute, mais il serait encore bien si JSF donne des conseils ou des messages d'erreur au lieu d'agir bizarre ...

Questions connexes