Назначить переменную JavaScript переменной Java в JSP
Элло там,
Я пытаюсь присвоить значение переменной 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>
Ответы
Ответ 1
Java script воспроизводится в браузере, где Java-код - это серверная вещь, поэтому вы не можете просто сделать это.
Что вы можете сделать, это отправить вычисленную переменную из javascript на сервер по форме-отправке или с использованием параметра URL или с помощью вызовов AJAX, а затем вы можете сделать его доступным на сервере
HTML
<input type="hidden" id="hiddenField"/>
убедитесь, что эти поля лежат под <form>
Javascript
document.getElementById("hiddenField").value=yourCalculatedVariable;
на сервере вы получили бы это как часть request
Ответ 2
Вам нужно что-то прочитать о жизненном цикле 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
Ответ 3
Ответ: вы не можете. Java (в вашем случае JSP) - это язык сценариев на стороне сервера, что означает, что он скомпилирован и выполнен перед всеми javascript-кодами. Вы можете назначить переменные javascript для переменных JSP, но не наоборот. Если возможно, вы можете указать переменную в QueryString или передать ее через форму (через скрытое поле), опубликовать ее и извлечь переменную через JSP таким образом. Но для этого потребуется повторная отправка страницы.
Надеюсь, что это поможет.
Ответ 4
JavaScript запускается на стороне клиента, а JSP - на стороне сервера. Поэтому я могу сказать, что это невозможно.
Ответ 5
Я думаю, что нет никакого способа сделать это, если вы не передадите значение JavaScript var по URL-адресу, но это уродливое обходное решение.
Ответ 6
вы не можете это сделать.. потому что jsp скомпилирован и преобразован в сторону html-сервера, тогда как javascript выполняется на стороне клиента.
вы можете установить значение в скрытый элемент html и отправить запрос на сервлет в случае, если вы хотите использовать его для дальнейшего
Ответ 7
Поскольку JavaScript - клиентская сторона, а JSP - серверная.
Таким образом, Javascript не выполняется, пока не попадет в браузер,
Но Java выполняется на сервере.
Таким образом, Java не знает значения переменной JavaScript.
Однако вы присваиваете значение переменной Java переменной JavaScript.