Подтвердить что ты не робот

Назначить переменную 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>
4b9b3361

Ответ 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.