Richfaces DataScroller executado quando não é necessário
-
21-09-2019 - |
Pergunta
No meu aplicativo JSF + Richfaces, observei que Rich: DataScroller é executado quando disparo solicitação AJAX de diferentes A4J: Region. Este é o meu código:
<jsfc:view>
<a4j:region renderRegionOnly="true">
<a4j:form>
<a4j:region renderRegionOnly="true">
<jsfh:selectOneMenu id="selectOneMerchant" value="#{smsTrafficBean.page}">
<a4j:support event="onchange" ajaxSingle="true"/>
<jsfc:selectItem itemValue="a" itemLabel="a"/>
<jsfc:selectItem itemValue="b" itemLabel="b"/>
</jsfh:selectOneMenu>
</a4j:region>
</a4j:form>
</a4j:region>
<a4j:region renderRegionOnly="true">
<jsfh:form>
<a4j:region renderRegionOnly="true">
<rich:datascroller id="scroll_1" for="sms" page="#{smsTrafficBean.page}"/>
<rich:dataTable id="sms" var="s" value="#{smsTrafficBean.smsByFilter}">
</rich:dataTable>
</a4j:region>
</jsfh:form>
</a4j:region>
</jsfc:view>
Quando o usuário seleciona o item do SelectOneMenu Ajax Solicy é demitido ao servidor. Durante a geração de resposta a essa solicitação, é executado o método smstrafficbean.smsbyfilter, o que não é o que eu espero. Quando eu removo Rich: DataScroller, tudo funciona bem.
Algum órgão tem alguma idéia por que adicionar efeitos de componentes ricos: DataScroller em chamar smstrafficbean.smsbyfilter quando a solicitação do Ajax é demitida de diferentes AJ4: região?
Solução
Porque você está alterando o valor de smstrafficbean.página no seletomenu que é lido pelo rolador?