Question

J'ai un problème similaire à celui rencontré ici: Formatage d'étiquettes JSF selectItem .

Ce que je veux faire, c'est accepter un double comme valeur pour my et l'afficher avec deux décimales. Cela peut-il être fait facilement?

J'ai essayé d'utiliser mais cela semble être appliqué à la valeur du inputText envoyé au serveur et non à la valeur initiale dans le champ de saisie.

Mon code jusqu'à présent:

<h:inputText id="december" value="#{budgetMB.december}" onchange="setDirty()" styleClass="StandardBlack">
    <f:convertNumber maxFractionDigits="2" groupingUsed="false" />
</h:inputText>

EDIT: Le code ci-dessus fonctionne réellement. JDeveloper m'a dupé, il n'a pas mis à jour la page jsp, même lorsque j'ai reconstruit explicitement mon projet et que j'ai redémarré le serveur OC4J intégré. Cependant, après un redémarrage de mon ordinateur, tout allait bien.

Était-ce utile?

La solution

Si je ne comprends pas mal votre besoin, j’ai été capable de formater la valeur dans la zone de saisie lors du rendu de la vue avec:

<h:inputText id="text1" value="#{...}">
    <f:convertNumber pattern="#,###,##0.00"/>
</h:inputText>

J'utilisais les composants standard pour les visages dans mon Eclipse de marque commerciale, je suppose donc que l'attribut pattern fait partie du fichier JSF standard.

Autres conseils

Si vous essayez de modifier la valeur du champ de texte de saisie à l'écran (pour corriger la saisie de l'utilisateur), vous devriez probablement envisager d'utiliser l'un des cadres JSF ajax tels que Rich Faces .

Un exemple possible ressemblerait à ceci:

<h:inputText id="december" value="#{budgetMB.december}" styleClass="StandardBlack">
  <f:convertNumber maxFractionDigits="2" groupingUsed="false" />
  <a4j:support event="onblur" reRender="december" />
</h:inputText>

Je n'ai pas testé cela, mais je pense que cela pourrait fonctionner.

Il semble que vous formatez une devise. Il existe déjà un programme spécifique de traitement des devises auquel vous pouvez attribuer de nombreuses options:

<f:convertNumber type="currency" />

Certains attributs intéressants de cette balise sont: locale , currencyCode , entierOnly , currencySymbol et motif .

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