プロが教える店舗&オフィスのセキュリティ対策術

理解できないことがあったので質問させていただきます。

javascriptで定義した変数をJSPに返すことはできますか?

例えば、
JSPで
<select name="" id="aaa" onchange="bbb();">

javascriptで
function bbb(){
var ccc = document.getElementById('aaa');
ddd = ccc.options[ccc.selectedIndex].value; //選択された項目の値を取得する
}
dddの変数をJSTL(標準タグライブラリ)の
<c:set var="eee" value="ココに返す">
みたいなことは、できませんでしょうか?

かなり簡潔に書いてしまいましたが、
ご理解して頂いた方は解答・返答の程、よろしくお願いします。

A 回答 (2件)

JSPとJavascriptの動作が理解できていないのかもしれませんね。


JSPはサーバー側で処理されて、Javascriptは(基本的には)クライアント側で処理されます。
JSPといっても画面に表示されるのはただのHTMLです。
JSTLで記述した内容は、画面表示時に処理されてHTMLに変換されています。
画面表示後の何かしらの処理を反映させることは出来ません。

ですので、質問のような処理は値のセットまでJavascriptですることになると思います。
リクエストのパラメータにしたいならhidden項目に入れるとかでしょうか。

ご質問の意図と違っていたらすみません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
解決することができました。

お礼日時:2010/12/13 13:03

簡潔に答えると、できません。


 サーバー側のJAVAプログラムがHTMLを生成しているタイミング(JSP)と
ブラウザー側がHTMLを解釈してjavascriptを実行しているタイミングは、
場所もタイミングも異なるものです。リアルタイムオンラインプログラム
みたいにやり取りは出来ません。

 ブラウザー側から、サーバーへ再びデータを送信して、サーバー側でそれを
受けとって、再びページを出力する必要があります。
 画面遷移したくないなら、javascriptのAJAX(XMLHttpRequest)を使って
送信してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
解決することができました。

お礼日時:2010/12/13 13:03

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