- 締切済み
getParameterの値変更
jspからservlet1に値を2つ(mao, saito)渡し、 そのうち1つの値をservlet1の中で変更(mao→ai)し、 変更後の値(ai)と変更してない値(saito)を servlet2に渡したいのですが、うまくいきません。 1.servlet1でgetParameterで値は取得できましたが、 その値の変更方法がわかりません。 2.servlet1-servlet2間をforwordを使用しようとして、一先ずsetAttributeで値を変更することはできたのですが、直後にgetParameterすると変更前の値でした。 検索しましたが、参考になりそうなものが発見できず困ってます。どなたか教えてください。 検索の掛け方が悪いのかもしれないので 参考になりそうなページがあればURL教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fortranxp
- ベストアンサー率26% (181/684)
現状は 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 ではいけないのですか?
まず、 HttpServletRequestのparameterは、読み取り専用なので変更できません。 それを踏まえて、 1.の回答は、 2.でも質問されているようにsetAttributeを使います。 2.の回答は、 最初にも説明しましたが、parameterは変更できませんので、 request#getAttributeで取得します。
お礼
お礼が送れてすみません。 読み取り専用とは知りませんでした。 勉強になりました。 ありがとうございました。
お礼
お礼が送れてすみません。 getParameterでは単に確認のために標準出力で確認しているだけです。 getAttributeだとうまくとれます。 ですが、なぜPara・・・がNGなのかがわからなくていました。 ありがとうございました。