Сообщение ожидания для медленной страницы JSF - PullRequest
1 голос
/ 04 августа 2010

У меня есть страница jsf, содержащая bean области действия запроса. Медленный запрос к базе данных запускается в конструкторе компонента области запроса. Затем результаты запроса отображаются в таблице данных jsf на веб-странице.

Как отобразить сообщение ожидания до завершения запроса к базе данных?

Я пытался вызвать функцию javascript для onLoad тега. Метод вызывается только после выполнения медленного запроса к базе данных.

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

Медленный запрос к базе данных происходит на сервере задолго до того, как созданная страница когда-либо попадет в браузер. Единственный способ сделать то, что вы хотите, это настроить браузер для отображения сообщения «Подождите» до , когда вы инициируете HTTP-запрос, который приводит к запуску вашей страницы JSF.

Вероятно, лучший способ потратить на это ваше время - это исправить запрос.

1 голос
/ 04 августа 2010

Сначала необходимо загрузить «страницу ожидания», а затем в onLoad этой страницы загрузить ту, которая выполняет запрос БД.Если запрос быстрый, пользователь не увидит много мерцания, потому что современные браузеры (= все, кроме IE6).

В качестве альтернативы, вы можете загрузить результат в скрытом iframe и показать «пожалуйста, подождите»на странице.Когда код в iframe загружен, вы можете сделать его видимым, получив доступ к родительскому документу с помощью parent:

parent.getElementById('frame').styles.display = '';
parent.getElementById('wait').styles.display = 'none';

(поместите это в onLoad JSP, который находится внутриiframe).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...