2016-04-08 13 views
0

私は、一連の設定をファイルにエクスポートするサービスを作成しています。もちろん、私は既に存在するラベルを再利用したいと思っています。私たちはSpring + Wicket-Setupを扱っています。 ラベルはプロパティファイルで定義されています。Springサービス層からWicketプロパティを読み取る

プロパティにアクセスするにはどうすればよいですか?

StringResourceModelsを使ってみましたが、常にMissingResourceExceptionが投げられました。私は

InputStream iStream; 
iStream = MySettingsPage.class.getClassLoader().getResourceAsStream("MySettingsPage.properties"); 
if (iStream != null) { 
    prop.load(iStream); 
} 

のように手でプロパティ をロードしようとしたが、InputStreamnullなので、何もプロパティがロードされません。

私はSpring ServiceからWicketプロパティにアクセスすることについて何も見つかりませんでした。

私は、WicketクラスでSpringサービスを絡ませるべきではないことを知っていますが、他の方法がなければ、その結果を受け入れる気があります。さらに、私はすでにというプロパティーをロードすることは避けたい。は既にキャッシュされているからだ。

+0

なぜあなたはWicketの方法でプロパティを取得していませんか?実行時にプロパティファイルを書きますか?どうやって? – thg

+0

私はStringResourceModelの使用はWicketの方法だと思いますが、対応するコンポーネントのインスタンスがないため、コンポーネント自体で行うようにStringResourceModelを使用することはできません。 – samjaf

答えて

1
iStream = MySettingsPage.class.getClassLoader().getResourceAsStream("MySettingsPage.properties"); 

クラスパスのルートからファイルをロードしようとします。このファイルがMySettingsPage.classの隣にあると感じています。つまり、com.example.myproductのようなパッケージに入っています。その場合は次のようにしてください:

iStream = MySettingsPage.class.getResourceAsStream("MySettingsPage.properties"); 
関連する問題