1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

action do selectOneMenu lento e rodando centenas de vezes

Estou tenho o seguinte código abaixo, quando seleciono alguma das opcoes do meu selectOneMenu a action deve ser disparada para o item escolhido na lista, a funcao dessa action é carregar um campo de texto. O problema é que a action está sendo rodada centenas de vezes e está demorando cerca de 5 segundos pra ser finalizada.

                   <h:selectOneMenu id="selectColumn" value="#{EquipReportBean.columnFilter}" required="false">                        
                        <s:selectItems value="#{EquipReportBean.all_columns}" var="t"  label="#{t.name}"
                            hideNoSelectionLabel="false" noSelectionLabel="Please Select..." />
                             <a4j:support event="onchange" action="#{EquipReportBean.loadFilterFields}" 
                             ajaxSingle="true" reRender="divString,divSelect,divDateStart,divDateEnd"/>
                             <s:convertEntity />                                     
                            </h:selectOneMenu>

O que eu fiz foi deletar a tag a4j:support do selectOneMenu, e colocar a action em um botao separado. Dessa maneira o campo de texto esta carregando instantaneamente. Código do botao segue abaixo:

<div class="span1" style="width:20px">                        
                        <a4j:commandButton limitToList="true" value=">" action="#{EquipReportBean.loadFilterFields}"
                        styleClass="btn primary"  reRender="divString,divSelect,divDateStart,divDateEnd"  />
                    </div>

Preciso que a action do selectOneMenu funcione instantaneamente "onchange". Como resolver isso?

  • Ja tentou trocar o ajaxSingle pra false.

    AndreAlcantara   29 de mai de 2013
  • já tentei sim, ainda muito lento para rodar a action

    Raphael de Mello   29 de mai de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags ajax eclipse richfaces seam ou faça a sua própria pergunta.