アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (3件)

// リクエストパラメータを取得(POST/GETでくる値)


request.getParameterValues

// セッションにデータを保存
request.setAttribute(name,"***");

// セッションのデータを削除
request.removeAttribute(name);


リクエストパラメータとセッションの違いですね

この回答への補足

なるほど、そうなんですね。
理解出来ました。

ところで、リクエストの方は削除出来ないんでしょうか??

補足日時:2008/03/07 16:53
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/03/08 15:13

ホームページからホームページへデータを渡すとき、



   query情報
   request属性
   session属性
がありますが、これらは有効範囲が異なります。

ANo.2 氏の言われるようにそのページが終われば自動的になくなりますので、
削除しようとするのはほとんどど無意味です。

次のページにデータを渡す必要があるときに例えば、request属性にセットするという形をとります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/03/08 15:14

> リクエストの方は削除出来ないんでしょうか??


リクエストパラメータのことですか?
ひとつのリクエストの寿命は短いので、ほっといてかまいません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/03/08 15:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!