S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

文字列置換とMessageFormatクラス

StringのreplaceAllメソッドとかreplaceFirstメソッドとかって正規表現での指定なんよね。
メッセージを抽象化して、具体的な内容(例えば項目名とか)をパラメータにする。
ってMyFacesでやってるので、それを採用しようかと思ったら、

message.({0})

みたいな感じでメッセージを文字列にして、{0}をパラメータの文字列と置き換える。
パラメータは、{n}まであるけど。みたいな。
これが正規表現に引っ掛かって、replaceAllメソッドとかreplaceFirstメソッドでは置き換わらない。
\とか'とか入れてみたけどダメっぽい。
なので、MyFacesのjavax.faces.component._MessageUtilsクラスのソース見て、java.text.MessageFormatクラスの存在を知ってみたり。