Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как забрать значение у JS переменной?


Автор: Molodec 28.1.2011, 09:57
Здравствуйте! Подскажите пожалуйста, как можно с приложения получить доступ к переменной, размещенной на странице. Например в Tapestry, есть класс страницы index.java и сама страница index.tml. На самой странице размещен javascript в котором есть переменная var b=0,565, как мне получить значение этой переменной в поле класса. Например, Double i=b. Единственное, что бросается на ум - создание t:textfield, запись туда переменной, а потом его считывание через свойство. Но это не совсем удобно. Если кто знает, подскажите, пожалуйста, другие возможные варианты.
P.S. речь идёт не обязательно о Tapestry. 
Заранее спасибо.

Автор: SoulSeeker 30.1.2011, 20:58
Получается, что переменная нужна на стороне сервера. Тогда только через запрос, в параметре которого она будет сидеть. 

Автор: Molodec 31.1.2011, 09:19
SoulSeeker, очень интересно. А что за запрос?  smile 

Автор: SoulSeeker 31.1.2011, 10:02
Post или get запрос. Можно через ajax. То есть клиент сам инициирует отправку значения переменной. При желании можно сделать имитацию comet соединения, тогда будет создаваться эффект запроса от сервера к клиенту.  Если рассуждать конкретно, то могу предложить такой вариант: создать отдельный сервлет, который будет являться слушателем, а на клиенте по таймеру отсылать требуемое значение переменной. Потом это значение можно забирать через статическое поле, а лучше сделать HashMap, в котором складывать полученные данные для каждой сессии.

Автор: Molodec 31.1.2011, 10:43
Спасибо.  smile 
А можете дать ссылку на сайт с примером подобного Post или get запроса?

Автор: SoulSeeker 31.1.2011, 14:49
За примером далеко ходить не надо. Вот простейший запрос: 
.../listenServlet?b=0.565

Автор: Molodec 1.2.2011, 09:40
Безусловно, я мало знаком с данной технологией. Буду очень рад интересной статье, которая может вкратце ознакомить с тем, о чем идет речь. 
.../listenServlet?b=0.565
Просто как мне реализовать это в коде, к сожалению, не представляю. В google ищу... Но там не совсем, то что мне нужно. Там события на закрытие страницы или тоже, что то подобное. Но не javascript. 

Автор: SoulSeeker 3.2.2011, 02:21
Как сделать запрос к серверу - это же вообще самые азы. Гуглить надо активнее по запросам, допустим, "jquery post", "servlet mapping".

Автор: Molodec 7.2.2011, 17:59
Гуглю то активно. Просто запрос верный не могу придумать. 
Сейчас Вы подсказали, попробую найти и разобраться. Спасибо.  smile 

Автор: Molodec 21.3.2011, 11:09
Вопрос решен. Спасибо. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)