- - PR -
ActionからActionを呼び出す方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-20 01:41
APIの説明を読まれたのでしょうか。
ServletRequest#getParameterMapは、不変のjava.util.Mapを返すとあります。 フィルタ云々は関係ありません。 ただし、フィルタでリクエストのラッパーを作成して、 変更可能なMapを返すメソッドでオーバーライドするという方法が可能です。 1.リクエストラッパーのコンストラクタで、 不変のパラメータマップの内容と同等なHashMap等のインスタンスを作成 2.リクエストパラメータに関するメソッドをオーバーライド 3.そのメソッドで自作のMapのインスタンスを元に値を返すようにする という感じで実装すれば、パラメータの変更可能なリクエストが作成可能です。 多分、getParameter/getParameterValues/getParameterNames/getParameterMapの 4つメソッドが対象です。 APサーバに依存するようなダウンキャストを行っている場合は 問題が発生すると思いますが、 APサーバに依存するダウンキャストを行う実装の方が問題なので、 気にする必要はないと思います。 | ||||||||
|
投稿日時: 2005-11-21 12:17
汎用的にやろうと思えばその通りですが、この記事の目的から考えるとgetParameterだけ オーバライドすれば目的は達成できるように思えます。 ちなみにこんな感じになります。
| ||||||||
|
投稿日時: 2005-11-24 17:02
返信が遅くなり申し訳ありません。
かつのりさん、ukさんに教わった方法で動きました。 フィルタを使うだけでなく、オーバーライドするということだったんですね。 標準のメソッドでなんとかすることばかり考えていました。 今回はフィルタ、オーバーライドなど大変勉強になりました。 本当にありがとうございました。 |