プロが教えるわが家の防犯対策術!

jspからservlet1に値を2つ(mao, saito)渡し、
そのうち1つの値をservlet1の中で変更(mao→ai)し、
変更後の値(ai)と変更してない値(saito)を
servlet2に渡したいのですが、うまくいきません。

1.servlet1でgetParameterで値は取得できましたが、
その値の変更方法がわかりません。

2.servlet1-servlet2間をforwordを使用しようとして、一先ずsetAttributeで値を変更することはできたのですが、直後にgetParameterすると変更前の値でした。

検索しましたが、参考になりそうなものが発見できず困ってます。どなたか教えてください。
検索の掛け方が悪いのかもしれないので
参考になりそうなページがあればURL教えてください。

A 回答 (2件)

まず、


HttpServletRequestのparameterは、読み取り専用なので変更できません。

それを踏まえて、
1.の回答は、
2.でも質問されているようにsetAttributeを使います。

2.の回答は、
最初にも説明しましたが、parameterは変更できませんので、
request#getAttributeで取得します。

参考URL:http://www.kab-studio.biz/Programing/JavaA2Z/Wor …
    • good
    • 1
この回答へのお礼

お礼が送れてすみません。
読み取り専用とは知りませんでした。
勉強になりました。
ありがとうございました。

お礼日時:2006/05/19 18:25

現状は


1.servlet1
 name1=request.getParameter("name1");//mao
 name2=request.getParameter("name2");//saito
       ↓
 name1="ai";
 request.setAttribute("name1",name1);//ai
 request.setAttribute("name2",name2);//saito

2.servlet1→servlet2
 name1=request.getParameter("name1");//mao
 name2=request.getParameter("name2");//saito
  ここでrequest.getParameter()でなくて
 name1=request.getAttribute("name1");//ai
 ではいけないのですか?
    • good
    • 0
この回答へのお礼

お礼が送れてすみません。
getParameterでは単に確認のために標準出力で確認しているだけです。
getAttributeだとうまくとれます。
ですが、なぜPara・・・がNGなのかがわからなくていました。
ありがとうございました。

お礼日時:2006/05/19 18:26

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