Formatieren einer Doppel in JSF
-
03-07-2019 - |
Frage
Ich habe ein ähnliches Problem wie das hier gefunden: JSF selectItem Label Formatierung .
Was ich tun möchte, ist ein Doppel als Wert für meinen zu übernehmen und es mit zwei Dezimalstellen angezeigt werden soll. Kann dies auf einfache Weise durchgeführt werden?
Ich habe versucht mit, aber das scheint auf den Wert aus dem input angewendet werden, die auf dem Server und nicht auf den Anfangswert in das Eingabefeld gesendet wird.
Mein Code so weit:
<h:inputText id="december" value="#{budgetMB.december}" onchange="setDirty()" styleClass="StandardBlack">
<f:convertNumber maxFractionDigits="2" groupingUsed="false" />
</h:inputText>
EDIT: Der obige Code tatsächlich funktioniert. Ich wurde von JDeveloper täuschen, die nicht der jsp Seite aktualisiert wurden, auch wenn ich ein expliziter mein Projekt neu gemacht und neu gestartet den eingebetteten OC4J-Server. Doch nach einem Neustart meines Computers war alles in Ordnung.
Lösung
Wenn ich Ihre Anforderung nicht Mißverständnis, ich war in der Lage Formatierung des Wertes in dem Eingabefeld mit während der Wiedergabe der Ansicht zu erreichen:
<h:inputText id="text1" value="#{...}">
<f:convertNumber pattern="#,###,##0.00"/>
</h:inputText>
Ich war mit der Standard-Faces-Komponenten in meinem Anbieter der Marke von Eclipse so bin ich das pattern
Attribut angenommen Teil von Standard-JSF ist.
Andere Tipps
Wenn das, was Sie versuchen, auf dem Bildschirm den Wert des Eingabetextfeld ändern zu tun machen ist (Benutzereingabe korrigieren), dann sollten Sie prüfen Mithilfe des JSF Ajax-Frameworks wie Reiche Faces .
Ein mögliches Beispiel würde wie folgt aussehen:
<h:inputText id="december" value="#{budgetMB.december}" styleClass="StandardBlack">
<f:convertNumber maxFractionDigits="2" groupingUsed="false" />
<a4j:support event="onblur" reRender="december" />
</h:inputText>
Ich habe nicht getestet, aber ich denke, es funktioniert.
Es scheint, Sie tatsächlich eine Währung zu formatieren. Es gibt bereits ein bestimmtes Formatierungsprogramm Währungen zu behandeln, die Sie viele Möglichkeiten zuweisen können:
<f:convertNumber type="currency" />
Einige interessante Attribute dieses Tags sind: locale
, currencyCode
, integerOnly
, currencySymbol
und pattern