2012-06-22 3 views
1

Как изменить значение переменной java с помощью javascript?Изменить значение переменной java с помощью javascript?

Предположим, что у меня есть объявить переменную в Java Servlet как int x=0; так теперь я хочу, чтобы изменить его значение 1 на OnClick событие любой кнопки на сервлет, как я могу это сделать?

Благодаря

ответ

1

Вы не можете изменить переменную Java с помощью JavaScript, хотя вы можете сделать наоборот. Javascript является клиентской стороной, а java-код на странице jsp выполняется на стороне сервера

2

ПРИМЕЧАНИЕ! Вы не должны держать состояние внутри своего сервлета, так как оно может использоваться несколькими потоками (несколькими пользователями). Такие значения должны быть сохранены в объекте Session или в некоторых бэкэнд - база данных, например.

Теперь вернемся к вашему вопросу: ваш код JavaScript браузера не может работать непосредственно на Java-коде, выполняющемся на сервере. Однако вы можете связать обработчик событий click с вашими кнопками и выполнить вызов AJAX для вашего сервлета, увеличивая это значение. См. this answer для примера того, как это сделать с помощью JQuery.

1

Невозможно изменить значение переменной java из javascript.

но через код java мы можем изменить значение переменных скрипта java.

1

Нет, вы не можете сделать это без отправки запроса на сервере, если вы готовы отправить запрос, тогда вы можете назначить значение переменной в <input> и отправить его в запрос. Или использовать Ajax, чтобы сделать это с помощью javascript.

0

Вы не можете изменить значение переменной java напрямую с помощью javascript. то, что вы можете сделать кулаком, получить переменную javascript в параметре запроса, поместив скрытую или передав ее url, а затем получите значение с помощью `rwquest.getParameter (« field »).

Javascript runs on client browser so you can't get it directly.

0

Я не понимаю, почему все говорят, что вы не можете сделать это.

Конечно, вы можете. Я много раз вызывал java-методы из javascript, используя Remote API в JavaScript. Если, например, с помощью Шва, вы можете сделать это следующим образом: http://docs.jboss.com/seam/latest/reference/en-US/html/remoting.html

Здесь OP должен выяснить, какие рамки он хочет использовать, или которые ремоутинг технологии, которая лучше всего подходит для OP

Например, вы звоните java-метод, который принимает int как параметр, и вы применяете значение к переменной.

+0

Возможно, я неправильно понял вопрос. –

+0

Этот удаленный API будет внутренне выполнять вызов сервера. –

+0

Да, и? OP никогда не говорит, что он не может позвонить на сервер –

1

JavaScript Выполняется на стороне клиента, а Servlets, написанный в Java, выполняется на стороне сервера.

Оба являются разными средами. Если вы хотите изменить состояние объекта на стороне сервера с JavaScript, вы должны сделать это через AJAX.

Вопрос: Предположим, что я объявляю переменную в Java-сервлете, как int x = 0; поэтому теперь я хочу изменить его значение на 1 на событии onclick любой кнопки на сервлете, как я могу это сделать?

В сервлете не должно быть переменных. Потому что Servlets are not Thread Safe. Я думаю, вы просто хотите изменить состояние клиента, которое может быть сохранено как сеанс.

+0

Моя точка точно –

Смежные вопросы