ApplicationResouces.propertiesの外出し

メッセージを記述したファイルをクラスパスに含めるのは、「メッセージファイルは設定ファイルではなくアプリの一部」というStrutsのポリシーなんだと思う。
でも、なんとなーく違和感を感じるのでWEB-INF配下に置けないものかと試行錯誤するも…ちょっと難しい。


ApplicationResouces.propertiesを読み込むPropertyMessageResourcesFactory/PropertyMessageResourcesは、struts-config.xmlの以下の指定で代替可。


<message-resources ... factory="hoge" ...

で、ServletContext#getResourceAsStream()を呼び出そうと思ったら…どこからもサーブレット関連のオブジェクトを取得できない…

Thread.currentThread().getContextClassLoader().getResourceAsStream()だと、WEB-INFからリソースを取得できないよう。

何とかなんないかな…