• ベストアンサー

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

質問者が選んだベストアンサー

  • ベストアンサー
  • HIRSYU
  • ベストアンサー率51% (45/87)
回答No.1

// リクエストパラメータを取得(POST/GETでくる値) request.getParameterValues // セッションにデータを保存 request.setAttribute(name,"***"); // セッションのデータを削除 request.removeAttribute(name); リクエストパラメータとセッションの違いですね

schnav
質問者

お礼

ありがとうございました。 勉強になりました。

schnav
質問者

補足

なるほど、そうなんですね。 理解出来ました。 ところで、リクエストの方は削除出来ないんでしょうか??

その他の回答 (2)

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

ホームページからホームページへデータを渡すとき、    query情報    request属性    session属性 がありますが、これらは有効範囲が異なります。 ANo.2 氏の言われるようにそのページが終われば自動的になくなりますので、 削除しようとするのはほとんどど無意味です。 次のページにデータを渡す必要があるときに例えば、request属性にセットするという形をとります。

schnav
質問者

お礼

有効範囲が異なるのですね。 ありがとうございました。

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.2

> リクエストの方は削除出来ないんでしょうか?? リクエストパラメータのことですか? ひとつのリクエストの寿命は短いので、ほっといてかまいません。

schnav
質問者

お礼

セッションを消さなくてはいけない状況だったのですが、 別の方法で回避しました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう