質問
JSF selectItemラベルのフォーマットに類似した問題があります。
やりたいのは、doubleをmyの値として受け入れて、小数点以下2桁で表示することです。これは簡単な方法でできますか?
使用してみましたが、入力フィールドの初期値ではなく、サーバーに送信されるinputTextの値に適用されるようです。
これまでの私のコード:
<h:inputText id="december" value="#{budgetMB.december}" onchange="setDirty()" styleClass="StandardBlack">
<f:convertNumber maxFractionDigits="2" groupingUsed="false" />
</h:inputText>
編集:上記のコードは実際に機能します。プロジェクトを明示的に再構築し、埋め込みOC4Jサーバーを再起動しても、jspページを更新しなかったJDeveloperにだまされました。ただし、コンピューターを再起動した後はすべて正常でした。
解決
要件を誤解していない場合は、次の方法でビューのレンダリング中に入力ボックスの値をフォーマットできました。
<h:inputText id="text1" value="#{...}">
<f:convertNumber pattern="#,###,##0.00"/>
</h:inputText>
ベンダーブランドのEclipseでStandard Facesコンポーネントを使用していたため、 pattern
属性は標準JSFの一部であると想定しています。
他のヒント
(ユーザー入力を修正するために)入力テキストフィールドの値を画面上で変更しようとしている場合は、おそらく Rich Faces 。
可能な例は次のようになります。
<h:inputText id="december" value="#{budgetMB.december}" styleClass="StandardBlack">
<f:convertNumber maxFractionDigits="2" groupingUsed="false" />
<a4j:support event="onblur" reRender="december" />
</h:inputText>
これはテストしていませんが、うまくいくと思います。
実際に通貨をフォーマットしているようです。多くのオプションを割り当てることができる通貨を処理する特定のフォーマッターが既に存在します:
<f:convertNumber type="currency" />
このタグの興味深い属性には、 locale
、 currencyCode
、 integerOnly
、 currencySymbol
およびがあります。パターン
。
所属していません StackOverflow