Domanda

Ho un problema simile a quello trovato qui: Formattazione dell'etichetta selectStem JSF .

Quello che voglio fare è accettare un doppio come valore per il mio e visualizzarlo con due decimali. Questo può essere fatto in modo semplice?

Ho provato a usare ma sembra essere applicato al valore dal inputText che viene inviato al server e non al valore iniziale nel campo di input.

Il mio codice finora:

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

EDIT: il codice sopra funziona davvero. Sono stato ingannato da JDeveloper che non ha aggiornato la pagina jsp anche quando ho fatto una ricostruzione esplicita del mio progetto e riavviato il server OC4J incorporato. Tuttavia, dopo un riavvio del mio computer è andato tutto bene.

È stato utile?

Soluzione

Se non ho frainteso il tuo requisito, sono stato in grado di ottenere la formattazione del valore nella casella di input durante il rendering della vista con:

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

Stavo usando i componenti standard dei volti nella mia Eclipse con il marchio del fornitore, quindi presumo che l'attributo pattern sia parte dello standard JSF.

Altri suggerimenti

Se quello che stai cercando di fare è cambiare il valore del campo di testo di input sullo schermo (per correggere l'input dell'utente), probabilmente dovresti esaminare uno dei framework ajax di JSF come Rich Faces .

Un possibile esempio sarebbe simile al seguente:

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

Non l'ho provato, ma penso che potrebbe funzionare.

Sembra che tu stia effettivamente formattando una valuta. Esiste già un formattatore specifico per gestire le valute a cui puoi assegnare molte opzioni:

<f:convertNumber type="currency" />

Alcuni attributi interessanti di questo tag sono: locale , currencyCode , integerOnly , currencySymbol e modello .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top