そこのエルロ、
Javascript変数の値をJava変数に割り当てようとしています。しかし、これを行う方法がわかりませんか?たとえば次のようになります。
<html>
<head>
<script type="text/javascript">
function return variable(){
var a = "hello";
return a;
}
</script>
</head>
<body>
<%
//The Java code
String b = //how do I get that javascript variable here?
%>
</body>
</html>
Javaコードはサーバー側のものであるため、単純にこれを行うことはできません。
あなたができることは、フォーム送信、またはURLパラメータを使用するか、AJAX呼び出しを使用して、計算された変数をJavaScriptからサーバーに送信することです
[〜#〜] html [〜#〜]
<input type="hidden" id="hiddenField"/>
このフィールドが<form>
の下にあることを確認してください
Javascript
document.getElementById("hiddenField").value=yourCalculatedVariable;
サーバーでは、これをrequest
の一部として取得します
JSPのライフサイクルについて何か読む必要があります。これを試してください: http://en.wikipedia.org/wiki/File:JSPLife.png
JavaScriptはクライアントで実行されますが、jspを変更するには、サーバーにアクセスする必要があります。これは、Ajax(http://en.wikipedia.org/wiki/Ajax_%28programming%29)を介して実行できます。
Ajax関連のリンクを次に示します。 http://www.openjs.com/articles/ajax_xmlhttp_using_post.php
http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first
答えは「できない」です。 Java(JSPの場合)は、サーバー側のスクリプト言語です。つまり、すべてのJavaScriptコードの前にコンパイルおよび実行されます。JavaScript変数をJSP変数に割り当てることはできますが、それ以外の方法はできません可能であれば、変数をQueryStringに表示するか、フォームを介して(非表示フィールドを介して)渡し、ポストし、そのようにしてJSPを介して変数を抽出できますが、これにはページの再送信が必要です。
お役に立てれば。
JavaScriptはクライアント側で起動され、JSPはサーバー側で起動されます。ですから、それは不可能だと言えます。
URLでJavaScript変数の値を渡さない限り、これを行う方法はないと思いますが、これはい回避策です。
jspはコンパイルされてhtmlサーバー側に変換されるのに対して、javascriptはクライアント側で実行されるため、できません。隠しhtml要素に値を設定し、さらに使用したい場合に備えてリクエストでサーブレットに送信することができます
JavaScriptはクライアント側であり、JSPはサーバー側です。
したがって、Javascriptはブラウザに到達するまで実行されませんが、Javaはサーバーで実行されます。したがって、JavaはJavaScript変数の値を認識しません。
ただし、Java変数の値をJavaScript変数に割り当てます。