Pull to refresh

Comments 2

Если процесс формирования действительно долгий, то лучше формирование excel-файла вынести в отдельный сервлет, передав в него данные передавать через сессию, а не через клиента.
Убъете нескольких зайцев:
— избавитесь от необходимости блокировки пользователя
— безопасность (у пользователя нет возможности подсмотреть чужие данные)
— сервлет можно сделать универсальным, так, чтобы он мог из любой коллекции сделать excel

Что касается вашего решения по блокировке пользователя на время запроса, можно воспользоваться стандартной компонентой richfaces:
<a4j:status onstart="#{rich:component('statPane')}.show()"
	onstop="#{rich:component('statPane')}.hide()" />
<ui:insert name="form" />
<rich:modalPanel id="statPane" autosized="true">
	<h:graphicImage value="тут какой-нибудь gif" alt="ai" />
</rich:modalPanel>
Формирование файла и так происходит в сессии. Просто пользователь фильтрует данные которые ему необходимо извлечь.

По поводу вашего решения, проблема в том что у элементов «h:» нету свойства «status» чтоб вызвать «a4j:status», а необходимо использовать именно «h:», чтоб файл возвращался так как нам необходимо.
Sign up to leave a comment.

Articles