Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 14:34   #1
custom
 
Регистрация: 11.01.2012
Сообщений: 6
По умолчанию Взаимодействие JQuery - Java

Кто-нибудь сталкивался с проблемой непрерывной передачи в JQuery динамически изменяющихся данных?

Суть в следующем: из jsp-страницы вызывается метод java-класса, который извлекает из базы данных определённые числовые значения. По мере получения этих значений они должны синхронно передаваться в JQuery и отображаться в popup-окне на графике.

Пример такого "монитора" в JQuery я нашёл: http://people.iola.dk/olau/flot/examples/realtime.html

Цитата:
function update() {
plot.setData([ getRandomData() ]);
// since the axes don't change, we don't need to call plot.setupGrid()
plot.draw();

setTimeout(update, updateInterval);
}
Здесь вместо массива случайных чисел нужно передавать только одно число - значение, получаемое из БД, причём функцию

Цитата:
function update()
нужно вызывать в момент получения значения из БД.

Каким образом из java-метода вызывать эту функцию с очередным значением параметра?
custom вне форума Ответить с цитированием
Старый 19.01.2012, 15:44   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Курите в сторону веб-сокетов.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.01.2012, 16:10   #3
custom
 
Регистрация: 11.01.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Курите в сторону веб-сокетов.
Спасибо за информацию, почитаю.

А пока по поводу

Цитата:
Каким образом из java-метода вызывать эту функцию с очередным значением параметра?
нашёл только способы вызова из апплета, но это мне не подходит. Судя по всему, проблема в том, как получить объект страницы с соответствующим java-скриптом.

И второй непонятный момент - после выполнения JQuery-функции управление снова должно передаваться вызвавшему её классу...

Последний раз редактировалось custom; 19.01.2012 в 16:26.
custom вне форума Ответить с цитированием
Старый 19.01.2012, 16:49   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Курить веб-сокеты пока рано ... еще не время)
А вот демонстрация на сайте хорошая ... но вот жаль что весь реалтайм и поток данных берется функцией getRandomData() .... которая конечно же ни с кем не связывается ...
В вашей конкретной задаче может просто написать веб-сервис на Java ? И опрашивать его по таймеру аяксом ... конечно все будет не так быстро как в демке, но это единственный разумный способ.
А так еще вариант это java-аплет и полноценный клиент-сервер на сокетах
Cronos20 вне форума Ответить с цитированием
Старый 19.01.2012, 17:08   #5
custom
 
Регистрация: 11.01.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Курить веб-сокеты пока рано ... еще не время)
Да, говорят, сыровата технология

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
И опрашивать его по таймеру аяксом ...
Именно это мне и предложили знакомые

Но так и не объяснили, почему нельзя реализовать прямым путём, т.е., рефрешить при наступлении события, а не по таймеру. По сути, динамическое построение графика - это не просто игрушка, требуется высокая степень актуальности отображаемой на данный момент информации.

Последний раз редактировалось custom; 19.01.2012 в 17:11.
custom вне форума Ответить с цитированием
Старый 19.01.2012, 17:13   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Все потому, что технология сокетов "сыра". До этого ничего небыло что могло бы со стороны сервера влиять на поведение браузера (на сколько я знаю).
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.01.2012, 19:26   #7
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

А что значит рефрешить??? И по какому событию? Наверное имеется ввиду, что сервер не может создавать свои события для клиента ... он может только отвечать на его запросы, поэтому пока единственный вариант - это делать постоянные запросы на сервер по таймеру ... а по-другому только flash, java или silverlight - тогда реализуем быстрый клиент-сервер на сокетах .... Я бы сделал так)))
Cronos20 вне форума Ответить с цитированием
Старый 19.01.2012, 19:53   #8
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

flash на клиентской стороне может реагировать на действия сервера? О_О
можно ссылочку на литературу?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.01.2012, 21:23   #9
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

А чего нет?? Вот первое что нагуглилось. Обычные сокеты.... несколько потоков .
Cronos20 вне форума Ответить с цитированием
Старый 20.01.2012, 08:40   #10
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Спасибо, не знал даже)
Мир перевернулся))
п.с. не могу пока в репку капнуть, сори
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт для сайта! Jquery или просто java script! bulat786 JavaScript, Ajax 7 03.11.2011 14:15
Межмодульное взаимодействие Bonch1 Помощь студентам 4 09.10.2011 20:38
Очень слож. вопр. для профи по Java, Flash, JavaScript, jQuery ??? fgfg JavaScript, Ajax 0 04.02.2011 23:54
Взаимодействие программ C# Genesis Общие вопросы .NET 1 16.08.2010 10:31
Взаимодействие C# и 1с Sparky Свободное общение 1 05.02.2010 04:31