- PR -

ApplicationResources.propertiesからデータを取得したい

1
投稿者投稿内容
ぐう
会議室デビュー日: 2005/05/26
投稿数: 16
投稿日時: 2005-06-09 19:44
StrutsのActionクラスの中でApplicationResources.propertiesに設定されたパラメータを取り出したいのですがやり方を教えて下さい。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-06-09 20:06
Actionクラスの中で、getResources(req).getMessage("hoge.hoge");
って書けば取れますよ。
ぐう
会議室デビュー日: 2005/05/26
投稿数: 16
投稿日時: 2005-06-10 11:00
ありがとうございます。
Actionクラスで教えていただいた通りにしたらできましたがサーブレットと関係ないユーティリティ的なクラスでは使えませんでした。

getResourcesはユーティリティ的なクラスでも使えるのでしょうか?
(ServletContextをどうやって持ってくれば良いのかもわかりません)
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-06-10 12:39
ユーティリティ的なクラスって何を示していますか?
何をしたいのか良くわかりません。
状況を正しく伝えられないなら、せめて何をしたいのかハッキリしましょうよ。
その方が解決が早いと思います。

引用:

getResourcesはユーティリティ的なクラスでも使えるのでしょうか?
(ServletContextをどうやって持ってくれば良いのかもわかりません)


getResourceはActionクラスのprotectedメソッドなので、
Actionもしくはサブクラスからしか使えません。
これくらいのことはStrutsのJavadocを見ればわかると思いますが・・・
itkmh
会議室デビュー日: 2005/04/06
投稿数: 7
お住まい・勤務地: 東京都
投稿日時: 2005-06-10 13:32
strutsのソースをみればAction#getResourcesでなにをやっているのか分かると思います。
それをもとに実装は可能かと。

ただしstrutsのバージョンが上がったときの保証はないし、
そもそもstruts依存のクラスをActionクラス以外の層で使用することにも抵抗を感じます。

もしも取得したい値がメッセージではなくシステムパラメータだとしたら、
専用のプロパティファイルを用意したほうがいいのではないでしょうか?
ぐう
会議室デビュー日: 2005/05/26
投稿数: 16
投稿日時: 2005-06-10 15:30
引用:

状況を正しく伝えられないなら、せめて何をしたいのかハッキリしましょうよ。
その方が解決が早いと思います。



すみませんでした。
やりたいのはプログラムのパラメータを外部から与えたいのです。
プロパティファイルの使い方を調べてみます
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-06-10 23:22
なら、java.util.ResourceBundleを調べてみてください。
StrutsのMessageResourceもデフォルトでは内部でResourceBundleを使用しています。

使い方は簡単で、クラスパス上にクラス同様プロパティファイルを配置します。
ResourceBundle bundle = ResourceBundle.getBundle("hoge.バンドル名");
見たいな使い方をします。
hoge.piyoパッケージに配置したfoo.propertiesを読み込む場合、
hoge.piyo.fooで取得が可能です。
ぐう
会議室デビュー日: 2005/05/26
投稿数: 16
投稿日時: 2005-06-11 11:04
引用:

なら、java.util.ResourceBundleを調べてみてください。
StrutsのMessageResourceもデフォルトでは内部でResourceBundleを使用しています。



ご指導ありがとうございます。
また何かありましたらよろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)