Богатый список выбора + поддержка 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, такого поведения не произойдет!