メッセージを記述したファイルをクラスパスに含めるのは、「メッセージファイルは設定ファイルではなくアプリの一部」というStrutsのポリシーなんだと思う。
でも、なんとなーく違和感を感じるのでWEB-INF配下に置けないものかと試行錯誤するも…ちょっと難しい。
ApplicationResouces.propertiesを読み込むPropertyMessageResourcesFactory/PropertyMessageResourcesは、struts-config.xmlの以下の指定で代替可。
<message-resources ... factory="hoge" ...
で、ServletContext#getResourceAsStream()を呼び出そうと思ったら…どこからもサーブレット関連のオブジェクトを取得できない…
Thread.currentThread().getContextClassLoader().getResourceAsStream()だと、WEB-INFからリソースを取得できないよう。
何とかなんないかな…