- ベストアンサー
requestの値が削除されません…
requestの値を削除したいのですが、全く削除出来ません。 ソースは Enumeration parameterNames = request.getParameterNames(); while( parameterNames.hasMoreElements() ) { // パラメータ名取得 String name = (String)(parameterNames.nextElement()); /* 値列挙 */ String[] valueList = request.getParameterValues(name); /* パラメータ値列挙 */ for ( int i = 0 ; i < valueList.length ; i++ ) { // 値を削除 request.removeAttribute(name); } } です。 試しに request.setAttribute(name,"***"); で値をセットし、 request.removeAttribute(name); (または、request.setAttribute(name,null);) でnameを特定のパラメータで、やってみて、 request.getAttribute(name); で確認したところ、値は削除されました。 値のセットの仕方が問題なのでしょうか?? 環境は、 JDK1.3.1 oc4j1.0.2.2.1 です。 どうすれば、requestの値を削除出来るのか、ご教授お願いしますm(_ _)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
// リクエストパラメータを取得(POST/GETでくる値) request.getParameterValues // セッションにデータを保存 request.setAttribute(name,"***"); // セッションのデータを削除 request.removeAttribute(name); リクエストパラメータとセッションの違いですね
その他の回答 (2)
- auty
- ベストアンサー率58% (284/486)
ホームページからホームページへデータを渡すとき、 query情報 request属性 session属性 がありますが、これらは有効範囲が異なります。 ANo.2 氏の言われるようにそのページが終われば自動的になくなりますので、 削除しようとするのはほとんどど無意味です。 次のページにデータを渡す必要があるときに例えば、request属性にセットするという形をとります。
お礼
有効範囲が異なるのですね。 ありがとうございました。
- _ranco_
- ベストアンサー率58% (126/214)
> リクエストの方は削除出来ないんでしょうか?? リクエストパラメータのことですか? ひとつのリクエストの寿命は短いので、ほっといてかまいません。
お礼
セッションを消さなくてはいけない状況だったのですが、 別の方法で回避しました。 ありがとうございました。
お礼
ありがとうございました。 勉強になりました。
補足
なるほど、そうなんですね。 理解出来ました。 ところで、リクエストの方は削除出来ないんでしょうか??