- ベストアンサー
JAVAからJAVASCRIPT関数を呼び出し
使用言語はJSPでして、<%%>のJAVAからJAVASCRIPT関数を呼出して、RETURNで返ってくる値を変数に格納したいと思っています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ajax を簡単に扱いたい場合は、jqueryという javascript のライブラリを利用するのが良いかと思います。 http://jquery.com/ onclick=check() の中で、 function check() { // チェックボックスの値取得 // ここに ajax の処理(サーバサイドへアクセス) $.ajax ... ・パラメータでチェックボックスの値を渡す ・サーバサイドの処理URL指定 ※1 ・サーバサイドの結果処理 } ajaxに関しては、 http://semooh.jp/jquery/ を参考にしてみてください。 ※1 サーバサイド側で呼び出されるサーブレットなりを用意しておく必要があります。
その他の回答 (3)
- hatimiti
- ベストアンサー率68% (26/38)
こちらのサイトが参考になるかもしれません。 http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html ちなみに、ライブラリ(jquery)を利用しない場合、IEやFireFoxなどブラウザ毎に動作が異なってくる場合があるので注意してください。 一度 ajax の概念を把握してから、ご自信の望んでいることが実現可能か判断してからのほうがよいかもしれません。
- hatimiti
- ベストアンサー率68% (26/38)
checkboxで選択された値は、属する<form>からサブミットされた際に、サーバサイドへリクエストパラメータとして飛んできます。 Java側では、その呼び出されたサーブレット(またはJSP)で、request.getParameter("ここにcheckboxのname") で取得することができます。 ただ、チェックされた瞬間にサブミットせずにサーバサイドで処理したいなどであれば、非同期にサーバ処理を呼び出す(ajax)などで対応する必要があります。
お礼
回答ありがとうございます。 サーバサイドで処理を行いたいと思います。 ajaxで検索していると、Invocableにたどり着いたのですが、うまくいきません。 今回のjavascriptの関数を呼び出して処理する方法または、 チェックされた瞬間にサーバサイドで処理する方法を教えていただけませんか。
JSPは、サーバーサイド言語です。サーバーの中で実行され、その結果がクライアント(ブラウザ)に送られます。 JavaScriptは、クライアントサイド言語です。サーバーからクライアント(ブラウザ)がソースを受け取った後、クライアントの中で実行されます。 おっしゃることは、サーバーサイドで実行中の処理の中から、(サーバーでの処理が完了し、クライアントに送られた後で実行される)クライアント側のJavaScriptを呼び出す、ということでしょうか。それはちょっと無理ではないですか。 あるいは、Java内からJavaScriptのスクリプトを実行させたい(つまり、表示するWebページの内容とは無関係に、あらかじめサーバー内に用意しておいたスクリプトを実行させる、ということ)ということでしょうか。それなら方法はありますが。
お礼
ありがとうございます。 行いたいことは、JAVASCRIPTでは画面のチェックボックスで選択された値を取得しています。 その値をJAVA側の変数として代入したいと考えています。 HTMLのよく使われているOnclick = check()としてHTMLに呼び出すのではなく、JAVAから呼び出したいのです。 案の定普通に、a = check()とJAVAから呼び出そうとするとエラーになりました。 あらかじめサーバー内に用意しておいたスクリプトを実行させる、ということ)で実現できるなら教えて頂けませんか。また他に方法があればお願いします。
お礼
ありがとうございます。 ライブラリを用いない方法はありますでしょうか。