- 締切済み
JSPとJavaScript
JavaScriptの変数の値をJSPで取得することって出来ますか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- osumitan
- ベストアンサー率33% (102/307)
Javascriptはあくまでクライアントのブラウザ上で動いていて、 JSPはサーバ側で動く処理なので、Javascriptの変数の値を サーバに送信する必要があります。 サーバに送信するというのは、フォームからsubmitするとか、 URLを指定してページを要求するとかいう動きです。 フォームからsubmitするなら、フォーム内の<INPUT>タグに Javascriptで渡したい値をvalueでセットすればいいです。 画面上に表示したくないならhiddenを使えばOKでしょう。 URLを指定するなら、「hoge.jsp?prm1=abc&prm2=123」などして URLにパラメータを付加してやればOKです。 いずれにしてもJSPでは「String prm1 = request.getParameter("prm1");」 のような形で取り出すことができます。
- thamansa
- ベストアンサー率40% (95/232)
No1の方の回答に加えて、 <form>のなかの<input value="この部分"> に JavaScriptの変数の値を埋め込むようなことでできると思います。 JavaScriptはあまり経験が無いので、どのように埋め込むのかはわからないです。 ちなみに、同一のページで1リクエスト内でということだと、JSPはサーバ内で実行され、その結果がクライアントに送信されてJavaScriptが実行されるので、そのときの変数の値を先のJSPで取得するのは原理的に不可能だと思いますので注意してください。
方法としてぱっと思いつくのは、 ・JavaScriptで値をクッキーに保存しておき、JSPから読み込む。 ・JavaScriptからJSPのURLを呼び出す際に、例えば "document.location=hoge.jsp?val=123" というようにパラメータで引き渡す。 ・・この2通りでしょうか。あまりJavaScriptは詳しくないのですが、直接JavaScriptの変数をJSPで受け取るのは無理だったように思います(・・実はあるのかも知れませんが知りません)。JavaScriptとJSPの両方で利用できるクッキーやパラメータなどを経由して受け渡してはどうでしょう。