J'ai créé un tag Facelet pour rendre une textinput avec une étiquette. Cela est très utile lorsque vous évitez de répéter le même code encore et encore.Quelle est la meilleure façon de créer des multi-usages balises personnalisées Facelet paramétrisé
Bien que je me bats avec la manipulation différents cas d'utilisation dans cet onglet unique (date par rapport texte, requis par rapport non requis, etc. textarea par rapport texte normal)
J'ai fini d'avoir plusieurs balises dans mon composant tout avec plus ou moins complexe rendu attribut, comme montré ici:
<h:inputText
onblur="makeNotEmpty(this)"
onfocus="makeNotEmptyFocus(this)"
id="#{cid}"
value="#{value}"
rendered="#{textarea!='true' and type!='email' and notrequired!='true' and nullablenumber!='true'}"
style="#{style }"
required="true"
disabled="#{disabled }">
<f:validator validatorId="notnull"/>
</h:inputText>
<h:inputText
onblur="
makeNotEmpty(this)"
onfocus="makeNotEmptyFocus(this)"
id="#{cid}"
value="#{value}"
rendered="#{type=='email'}"
style="#{style }"
required="true"
disabled="#{disabled }">
<f:validator validatorId="email" />
<f:validator validatorId="notnull"/>
</h:inputText>
Bien sûr, ce n'est pas optimal et plutôt fastidieux d'écrire. Un autre problème est que cette approche a plusieurs composants avec le même ID dans l'arborescence des composants (je ne suis pas sûr si c'est un problème car un seul élément ayant le même ID est rendu en même temps mais j'en ai vu problèmes étranges recréant l'arbre de la page me faisant belive c'est un problème)
J'utilise ICEFaces 1.8.2 (mais le problème devrait être mise en œuvre indépendante). Quelle est la solution pour cela? En utilisant ? Autre chose? Merci!
merci, c'est comme ça que je vais le faire. et je n'ai jamais appelé ICEfaces une implémentation JSF;) mon problème original n'a pas été résolu par cela bien que ... J'ai trouvé le problème: c'est que ICEFaces semble avoir des problèmes quand vous avez un avec une liaison et quand ce panelGroup contient des composants facelet. Ayant ce scénario j'ai toujours eu le problème que l'arbre de composant a été complètement foiré quand la page a été reconstruite (c'était OK la première fois que je visite la page). Avec foiré je veux dire que certains contrôles ne sont pas affichés du tout ou les étiquettes ont été rendus comme des boutons aussi, probablement un bug IceFaces –
hugri
Votre phrase * J'utilise ICEFaces 1.8.2 (mais le problème devrait être indépendant de l'implémentation) * était suggérant que. En outre, je ne fais pas IceFaces, donc je ne peux pas entrer dans les détails de ce problème. – BalusC
pas de problème, merci quand même! – hugri