- PR -

Servletで複数登録されている同一キー名のパラメータを取得するには?

1
投稿者投稿内容
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-08-21 16:15
お世話になってます。

Servletの initメソッドの ServletConfig で web.xml に記述されているパラメータ
を getInitParameter(key) を使って取る事ができます。

同じ名称のキーを web.xml に複数登録して、それらを取得したい場合、どのようにすれば
いいのでしょうか?ご存知のかたおられますか?
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2003-08-21 17:34
引用:

maruさんの書き込み (2003-08-21 16:15) より:
お世話になってます。

Servletの initメソッドの ServletConfig で web.xml に記述されているパラメータ
を getInitParameter(key) を使って取る事ができます。

同じ名称のキーを web.xml に複数登録して、それらを取得したい場合、どのようにすれば
いいのでしょうか?ご存知のかたおられますか?




こんにちわ。

同一のservlet内での話しをされていますか?
それでしたら答えは「不可能」です。

InitParamが格納されているのはおそらく
Propertiesのようなオブジェクトでしょうから
同一キー名は上書きされ、取得できる値は
常に一つだけとなります。
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2003-08-21 17:46
やっぱりそうですよね。

1つのキーで、複数の値をカンマかセミコロンでつないだものを登録しておいて、
それを読み込み後に文字分割して複数の値をとるか、web.xmlとは別にiniファイル
みたいなものをもうけてそれに複数の値を登録するか・・・。

何かいい方法がないか、もう少し考えてみます。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2003-08-21 21:18
param1
param2
param3
.
.
.
とか名前をつけておいて、"param" + 番号
のループを回してあげてキーを指定してあげる
のはどうですかね?。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-08-21 22:45
1つのキーに対してオブジェクトの集合を得るようにしたいということ?

そうであれば、リソースを別途propertiesファイルにまとめ、ResourceBundleとして読みこむというのはいかが?
文字列の配列として取り出すインターフェースは用意されています。

ただし、ResourceBundleのサブクラスを用意し、自身で集合として登録する必要があるように思えます(もっと良い方法があるかもしれない)。

[ メッセージ編集済み 編集者: かずくん 編集日時 2003-08-21 22:47 ]
1

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