![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Помогите решить задачу.
У меня есть сервлет который читает файл/веб-страницу и обрабатывает содержимое. Иногда это бывают очень большие файл или очень медленные сервера. Необходимо сделать ProgressBar который во время обработки данных будет отображать процесс. Помогите создать кот который во время обработки данных будет показывать этот бар а по завершении его скрывать. Очень важно, очень прошу. P.S. возможно даже это будут разные сервлеты. Обработка и прогрес бар в одном, по окончании обработки вызывается второй сервлет который выведет на экран результат. |
|||
|
||||
| garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Может тут лучше javascript подойдет? Примеров, я уверен, полно.
Добавлено через 2 минуты и 47 секунд Вот тут пример с использованием jsp http://www.onjava.com/pub/a/onjava/2003/06...ogressbars.html |
|||
|
||||
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Это по идее не сильно подходит. Мне надо в процессе выполнения сервлета изменять статус прогресбара. А на JSP памоему это несильно получится. Или я ошибаюсь ? |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Ваш сервлет, выполняющий длительное задание, скорее всего сам не может знать наверняка, какой процент работы сделан, потому что это связано с загрузкой данных из интернета. Поэтому проще показывать песочные часы или бесконечный прогресс-бар без указания процентов. А это действительно лучше делать на js.
|
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
SuperOrange, очень вам не советую считать время, когда запрос будет обнаружен. Это очень трудно.
Лучше всего - перед отправкой запроса просто вывести на экран анимацию прогресс бара (их в нете много найдете |
|||
|
||||
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Хорошо, перефразирую задачу. Допустим у меня есть страница с анимацией прогрес бара.
А как мне тогда сделать так, пусть по клику у меня открывается страничка с анимацией, но мне нада ещё в фоне запустит сервлет с обратоткой данных и по их завершению перейти на страничку другова сервлета который и отобразит результат операции. Как в JS я смогу узнать что обработка закончилась? P.S. теоретически я понимаю что данные я могу положить в сессию, но вот как сообщить страничке с анимацией что нада заканчивать ? |
|||
|
||||
| garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
С сервлета, который выполняет какую-то работу и когда он ее закончит посылаете какой-нибудь флаг на страницу с анимацией, на странице ставите условие, если флаг = тру, тогда редирект на другой сервлет. Ну вот как-то так наверно.
|
|||
|
||||
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Не совсем понял вас, у меня например есть страница с анимацией, простая ХТМЛ + JS для анимации, допустим я отображаю её, как мне теперь запустить сервлет обработки и по окончанию обработки перейти на \index.jsp
|
|||
|
||||
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Голова кипит, не догоняю. Помоги решить, лучше кодом.
Есть основная страница: index.jsp в которой вводятся данные, и которая выводит результат обработки этих данных. Вот код формы.
Далее выполняется сервлет URLServlet в котором идёт обработка данных, по окончании обработки снова вызывается index.jsp и в зависимости от параметра под формой выводит обработынные данные. Мне необходимо что бы, после воода данных, загружалась обычная HTML страница (уже есть), на которой будет JavaScript, что то типа "Ожидайте, идёт обработка" пока будет выполнятся URLServlet , и по окончании выполнения URLServlet снова загружатся index.jsp. Суть в том что у меня не получается сделать так что бы пока идёт обработка отображалось "Ожидайте, идёт обработка". Помогите кодом решить проблему. |
|||
|
||||
| kez |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
почему не сделать ажаксом?
самое элегантное решение на мой взгляд. и не придется уходить никуда с этой страницы. |
|||
|
||||
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
||||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 3 Всего: 44 |
SuperOrange, не так давно пришлось изобразить нечно подобное.
делал так: 1) на странице ввода данных ставил div в котрый помещал анимированный gif с прогрес-баром, div поумолчанию скрытый т.е. style="display:none;". 2) перед сабмитом формы на сервлет менял стиль у дива на style="display:block;".
|
|||
|
||||
| SuperOrange |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Так, а разве если перед сабмитом сделать display:block; а потом сабмит, я успею увидеть этот блок ? |
||||
|
|||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 3 Всего: 44 |
||||
|
||||
| SuperOrange |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.5.2007 Репутация: нет Всего: нет |
Хорошо, то есть
Форму я описываю так ?
Так? |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |