2011-07-01 14 views
5

リソースバンドルでEL Expresionsを使用して* .xhtmlファイルを変更せずに使用できる場所(これ以上見つからない)があります。JSF ResourceBundleのEL変数

some.text=#{someBean.stepsLeft} more 

異なる言語での変数の位置を切り替えます。しかし実際にはそれは働かない。 Interpolatorクラスを使用して解析を処理したり、some.text.after before some.text.afterを追加して空のいずれかを空にすることができます。可能であれば、interpolator.interpolate()なしで使用することをお勧めします。

答えて

9

JSF resourcebundlesは、デフォルトでELを解決しません。しかし、デフォルトでは、<h:outputFormat><f:param>との組み合わせでMessageFormat APIがサポートされています。あなたも、明示的に例えばので、それnumberタイプにすることができ

<h:outputFormat value="#{i18n['some.text']}"> 
    <f:param value="#{someBean.stepsLeft}" /> 
</h:outputFormat> 

some.text = {0} more 

1000は、表示ロケールに応じて、1,000または1.000と表示されます。

some.text = {0,number} more 

その他のフォーマットオプションについては、MessageFormat API documentationを参照してください。

+6

可能な限り速い。ありがとうございました。 JSFのスタックオーバーフローはあなたなしではどうなるでしょうか?) – webstrap

関連する問題