Question

Essayer de garder tout le contenu de la présentation dans le xhtml de ce projet et je dois formater certaines valeurs dans une balise selectItem qui ont une valeur BigDecimal et le faire ressembler à la monnaie. Est-il possible d'appliquer une balise <f:convertNumber pattern="$#,##0.00"/> à l'intérieur d'une <f:selectItem> balise?

Y a-t-il un moyen de faire ceci ou un moyen de contourner le problème qui ne consiste pas à insérer ceci dans le code Java?

Était-ce utile?

La solution

Après des recherches supplémentaires ici, je suis presque convaincu que cela n’est pas possible avec la mise en œuvre actuelle de JSF. Il n’existe aucune possibilité de transformer la valeur.

http://java.sun.com /javaee/javaserverfaces/1.2/docs/tlddocs/f/selectItem.html

Le tld affiche la propriété itemLabel comme étant un ValueExpression et le contenu du corps de <f:selectItem> comme étant vide. Donc, rien n'est autorisé à exister dans l'une de ces balises, et l'étiquette doit pointer vers une valeur textuelle dans le modèle Java. Il doit donc être formaté à partir du modèle Java.

Autres conseils

étant un débutant en jsf, j’ai eu un problème similaire, peut-être que ma solution est utile, peut-être que ce n’est pas dans & "l'esprit jsf &";

Je viens de créer une taglib personnalisée et d'étendre la classe (dans mon cas, org.apache.myfaces.component.html.ext.HtmlCommandButton) et de remplacer les paramètres pour appliquer des paramètres personnalisés.

donc au lieu de <t:commandButton/> j'ai utilisé <mytags:commandButton/>, ce qui est aussi flexible que je veux.

Vous pouvez configurer un convertisseur avec ce modèle, mais cela ressemble exactement à l'opposé de ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top