- - PR -
ApplicationResources.propertiesの置換文字列{0}{1}等を{%s}に変換する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-11-12 10:45
struts歴11日のYasyuです。
使用している環境は以下の通りです。 WindowsXPPro SP2 Tomcat 5.0.29 JDK 1.4.2_06 Struts 1.2.4 今回は、メッセージファイル(ApplicationResources.properties)で 設定するメッセージ内の置換文字列(例.「{0}は必須項目です」の{0})について、 別の識別子にできないかなと質問です。 例えば、{0}を{%s}とかにできるのしょうか? ActionErrorクラスやそのスーパークラスのActionMessageクラスを参照したのですが、 よく分かりませんでした。 |
|
投稿日時: 2004-11-12 11:54
トークンの置換でしたら、JDK1.4以降ならStringクラスで出来ますし、
あるいは正規表現ライブラリ(Jakarta-OROとかJDKのjava.util.regex)をつかっても 出来ますので、そちらを調べてみてください。 一つ疑問なのは、「何故そんなことをしなければならないのか」です。 C言語でのsprintf()関数に該当するような「書式指定の文字列作成」を行うJDK上のAPI としてjava.text.MessageFormatクラスというものが存在します。 {0}{1}といった記述は、これに対するフォーマット指定位置を示すトークンです。 Javaプロセス内部で文字列を作成するなら、このクラスを使用すべきであって、その場合 そのような変換は必要ないはずですよ。 #よく思うことなのですが、java.textパッケージって、java.lang、java.util、java.io #と同じくらい習得優先度が高いパッケージだと思うのですが、使い方を知らない人が結構 #多いのは何故でしょう? |
1