h: командная кнопка при завершении действия - PullRequest
0 голосов
/ 09 июня 2011

При загрузке файла с сервера, если я использую a4j: commandLink сбой загрузки файла (означает, что файл записан на экран браузера), если я использую h: commandLink , все в порядке. Я хочу показывать расширенную модальную панель при загрузке файла, но стандартные компоненты не имеют действия при завершении , поэтому я не могу скрыть модальную панель после загрузки файла . Как я могу обойти эту проблему, я использую rich лица 3.3

  <h:commandLink value="Download"
   action="#{logSearcher.downloadFile}" 
  onclick="Richfaces.showModalPanel('ajaxLoadingModalBox',{width:450, top:200})"
                                   immediate="true" >
                          <f:setPropertyActionListener value="#{log}"
                            target="#logSearcher.selectedLogLine}"   
                                    />                          
  </h:commandLink>

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

Вы можете использовать de rich: componentControl или функцию показа JS API (# {rich: component ('mp')}. Show).

http://livedemo.exadel.com/richfaces-demo/richfaces/modalPanel.jsf?s=blueSky#

1 голос
/ 09 июня 2011

<a4j:commandLink> отправляет по умолчанию асинхронный (ajax) запрос.Вы не можете загружать файлы с помощью асинхронных запросов.JavaScript просто не предлагает средств для превращения ответа XMLHttpRequest в Сохранить как диалоговое окно.Вам нужно скачивать файлы, используя обычный синхронный запрос.<h:commandLink> делает это.

Лучше всего использовать атрибут onclick <h:commandLink>, чтобы закрыть модальную панель.При необходимости с setTimeout().

...