2015-11-16 2 views
-1

Следующий код в моем .xhtml работает отлично:Как показать загрузочное изображение (используя a4j)?

<h:commandButton id="btnConsultar" 
       action="#cadastrarProponenteBean.consultarCnpj}" 
       value="#{messages.tx_consultar}" 
       styleClass="btnAcao" /> 

Но, когда я добавляю a4j:support:

<h:commandButton id="btnConsultar" 
       action="#{cadastrarProponenteBean.consultarCnpj}" 
       value="#{messages.tx_consultar}" 
       styleClass="btnAcao"> 

    <a4j:support event="onclick" /> 
</h:commandButton> 

перерывы приложения, я получаю странные ошибки, и моя проверка messages('getFacesContext().addMessage') не показаны.

Поскольку я использую a4j:support, чтобы показать загрузочный gif при нажатии пользователем, какие-либо рекомендации по устранению этой проблемы?

Я использую JSF и RichFaces.

PS: уже пытались a4j:commandButton вместо h:commandButton но те же проблемы ...

+0

* «Я получаю странные ошибки» * Хорошие ошибки уже представляют ответы в целом. Невозможность их интерпретировать не означает, что вы должны игнорировать их и пропускать их из вопроса. Вместо этого скопируйте их без изменений в вопрос. Мы можем перевести ошибки в условия непрофессионала, чтобы вы, наконец, отказались от них и могли исправить причину. Конечно, вы также можете копировать ошибки в поисковой системе. Чаще всего они уже объясняются в другом месте. Измените свой вопрос, чтобы включить ошибки. – BalusC

+0

Боже, что я назвал странными ошибками: ** Причиненный: org.jboss.seam.core.LockTimeoutException: не удалось получить блокировку на @ Синхронизированный компонент: cadastrarProponenteBean ** –

ответ

0

Вы должны использовать <a4j:status> аналогичную:

<a4j:status id="ajaxstatus" rendered="true"> 
     <f:facet name="start"> 
      <h:panelGroup> 
       <h:graphicImage value="/images/loading.gif" /> 
      </h:panelGroup> 
     </f:facet> 
     <f:facet name="stop"> 
     </f:facet> 
    </a4j:status> 

я его в шаблоне. Загрузка изображения отображается во время любого длительного действия.

+0

Я пробовал ваше решение и получил следующую ошибку : '... 47 более Вызванный: java.lang.IllegalStateException: дублирующие Id для компонента _viewRoot: статус на org.ajax4jsf.application.TreeStructureNode.apply (TreeStructureNode.java:68) в org.ajax4jsf .application.TreeStructureNode.apply (TreeStructureNode.java:92) ' –

+0

' duplicate Id' четко определил, что проблема связана с id. Похоже, у вас уже есть компонент пользовательского интерфейса с id _ajaxstatus_ на странице. Проверьте его и переименуйте в случае необходимости или исправьте содержимое 'a4j: status', если оно существует. В общем, это не связано с вашей проблемой при загрузке изображения. –

+0

Решенный с помощью 'принудительныйId =" true "', по-прежнему не работает. Что мне не хватает? '\t \t \t \t \t <ч: CommandButton ID = "btnConsultar" \t \t \t \t \t \t действие = "# {}" cadastrarProponenteBean.consultarCnpj \t \t \t \t \t \t значение =" # {сообщения.tx_consultar}»styleClass = "btnAcao"> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <ч: panelGroup> \t \t \t \t \t <ч: graphicImage значение = "/ IMG/aguarde.gif" /> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <е: фаска имя = "стоп"> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t ' –

Смежные вопросы