- - PR -
JavaScriptからのデータを、requestに取得する方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-02 16:24
Cフレームワークを使い開発をしています。
JavaScriptから値を取得し、 その値をサーブレット内でreq.getParameterで取得したいです。 現在の実装です。 function Search(categoryup,category_id,category_no){ alert(categoryup); document.all.CATEGORY_UP = categoryup; chxDoCmd(chxChkSubmit(), '/OrderByCommodity/Search?=0&'+category_id+'='+category_no); } Javaでは String Category = req.getParameter(CATEGORY_UP) とコーティングしていますが、Category = null と表示されてしまいます。 alert(categoryup);は正しく動作しています。 どなたかアドバイスよろしくお願いします。 | ||||||||
|
投稿日時: 2005-08-02 16:48
そもそもJavaScriptで設定しているリクエストのキー(category_id)と、
サーバ側で受信しているリクエストのキー(CATEGORY_UP)が一致してるのでしょうか? 一致していなければnullになった当たり前ですが...
あるいは
のような感じで、送信されてきたリクエストパラメタを表示できると 思うので一度確認してみてはどうでしょうか? | ||||||||
|
投稿日時: 2005-08-02 17:10
返答ありがとうございます。
キーが一致…とはどういうことでしょうか? リクエストのキーというのが恥ずかしながら初耳です… あと、 コード: -------------------------------------------- System.out.println(req#getParameterMap()); -------------------------------------------- でリクエストパラメタを表示すると weblogic.servlet.internal.ParamMap@1f9c9c6 が出力されました。 | ||||||||
|
投稿日時: 2005-08-02 17:22
HTTPリクエストは、キーと値がペアになって送信されていると思います。 送信側では、 URL ttp://サーバ/パス?キー=値 と言う形式になっていますよね。 で、サーバ側で値を取得する際は、 String 値 = req.getParameter(キー); のようにして値を取得しますよね。 このキーが一致していないと値が取れないと言う意味です。
WebLogicのMap実装ですか... java.util.HashMap等であればちゃんと中身を表示してくれるのですが、 これはtoString()をちゃんと実装してくれていないようですね... (↑今の問題と直接関係ない話なので、意味がわからなければ気にしなくていいです) こういうこともあろうかと、先の投稿で2案提示していますので、 もう一方の方法でやってみて下さい。 | ||||||||
|
投稿日時: 2005-08-02 17:59
すみません。解決しました。
JSPでhiddenでキーの値を格納することで解決致しました。 JSPでの実装 <input name="<%=クラス名.CATEGORY_UP_ID%>" type="hidden" value=""> お答え頂きありがとうございました。 |
1