S2Text
昨日の読書会で出た話題。SpringのPropertyPlaceholderConfigurer相当のことはOGNL式を使えばできるはずということ。
中略
できました。
なるほどぉ.Properties
のように Map
を implements
していると簡単に扱えるんですね.自分が以前試したときは commons configuration を使っていて,そいつは Map
じゃないからちょっと面倒だったわけですか.
でもでも,Properties
だとファイルをロードするのが面倒.
ということで,ちょっと作ってみました.使い方はこんな感じ.
<component name="env" class="org.seasar.util.text.env.impl.PropertiesEnvironment"> <initMethod name="load"> <arg>"org/seasar/util/text/env/impl/PropertiesEnvironmentTest.properties"</arg> </initMethod> </component>
第二引数でエンコードを指定することも出来ます.
こいつは Map
を implements
しているわけではないのですが,代わりに PropertyAccessor
を提供するので,OGNL 式中で
env["foo.bar"]
と使うことが出来ます.
プロパティファイルの他,suga さんのヒアドキュメント,J2SE5.0 の Properties
風 (というかパクリ) の XML ファイルをロードするクラスを用意しました.
Seasar Wiki からダウンロードすることが出来ます.
http://seasar.satin.jp/wiki/index.php?SeasarText#qc300916
ついでに,Maven してみました.うまくできてるかどうかは謎ですが,とりあえず雑感.
- Seasar プロジェクト用のテンプレートが欲しいなぁ.と書いておけばかくたにさんが作ってくれるかな?
(^^;
- S2 本体が使用するライブラリに合わせて
<dependency>
をメンテするのが大変そう. - それとも S2 本体に入っている
project.xml
をコピーして,それを参照 (拡張?) する project.s2-xxx.xml を用意するのがいい? - っていうか,S2Struts 1.0.12 に含まれている S2 は 2.1.3 なのに,
project.xml
に記述されているのは 2.0.22 だった.(^^;
なんか,デフォルトで設定されていた ibiblio というリモートリポジトリが重くて苦しめられました.しかも,リモートリポジトリのパスで seasar.sourceforge.jp よりも ibiblio の方が前になっていたせいか,ibiblio からのエラーメッセージ (HTML) が S2 の JAR としてファイルに保存されていたりして.(;_;)
ミラーを見るようにしたらサクサク進んでそれまでの苦労はなんだったのかと.常識? しくしくしく.
maven eclipse
すれば Eclipse に import すれば Eclipse で普通に使えるのはいいのだけど,JAR ファイルのソースパスは設定してもらえないのね.残念!!!!
それともそういう便利ツール (プラグイン) があるとか?