2008-09-17 3 views
4

このプロジェクトのxhtmlにすべてのプレゼンテーション項目を保存しようとしていて、selectItemタグの値の一部をフォーマットする必要があり、BigDecimal値を持ち、通貨のように見えるようにする必要があります。とにかく<f:convertNumber pattern="$#,##0.00"/>を適用するには<f:selectItem>タグの中に?JSF selectItemラベルの書式設定

これを行う方法はありますか、それを回避するには、これをJavaコードにプッシュする必要はありません。

答えて

4

ここでもう少し調査をしたところ、私はこれがJSFの現在の実装では不可能だと確信しています。価値を変える機会はありません。

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

TLDは空であるとしてValueExpression<f:selectItem>の本体コンテンツであるとしてitemLabel性を示します。したがって、これらのタグのいずれかには何も存在することは許されず、ラベルはJavaモデルの逐語的な値を指し示す必要があります。だから、それはJavaのモデルから出てくるフォーマットされている。

+0

悲しいですが真です。私は今、同じ問題を抱えています。再び –

+0

。私はちょうど前にこの正確に同じ質問に答えていたことに気づいた。 SOは私の個人的なメモ帳になっています。 –

0

あなたはそのパターンでコンバーターをセットアップできますが、それはあなたが望むものと正反対のように聞こえるでしょう。

1

は、JSFに初心者であること私は多分そのは「JSF精神」

に私はカスタムタグライブラリを作成し、私の場合の組織に(クラスを拡張していない、多分私の解決策は役に立ちある、同様の問題がありました。 apache.myfaces.component.html.ext.HtmlCommandButton)、カスタムパラメータを適用するためにセッターをオーバーライドしました。

<t:commandButton/>の代わりに私は<mytags:commandButton/>を使用しました。これは私が望むほど柔軟です。

+0

これは実際には完全にJSFの跡に入っています。私はできるだけJSFに依存する小さなコードを記述しようとしています。主に高級な設計目標ですが、プロジェクトをより明確にし、よりメンテナンス性に優れていると思います – William