Богатый список выбора + поддержка A4j + onlistchange

При использовании компонента расширенного списка выбора, прикрепленного к событию onlistchange поддержки a4j, происходит странное поведение.

Если у меня есть "n" выбранных элементов в компоненте списка выбора, сервер попытается заполнить его "n" раз (запустив gruposDeTributosQuery.resultListOrdered() "n" раз!!!)! Это вызывает большую задержку, потому что запрос, используемый для заполнения, немного медленнее... Выше мой код:

<rich:pickList id="picklisttributos" value="#{criarEstudo.tributosDoAssuntoList}"
label="Tributos" >
<s:selectItems var="_tributos" value="#{gruposDeTributosQuery.resultListOrdered}"
label="#{_tributos.nome} | #{_tributos.id}" />
<s:convertEntity />
<a4j:support event="onlistchange" process="picklistOF" reRender="picklistOF" />
</rich:pickList>

1 ответ

Bizarre. Новые открытия... Проблема в gruposDeTributosQuery.resultListOrdered!

 public List<Tributo> getResultListOrdered() {
    this.setOrder("nome");
    //ArrayList<Tributo> lista = new ArrayList<Tributo>(
    //      this.getResultList());
    return this.getResultList();
  }

Если я использую direclty resultList, такого поведения не произойдет!

Другие вопросы по тегам