a4j:poll always reRender himself
rguillemette May 28, 2009 4:18 PMHello everyone.
I use an a4j:poll to reRender a section of my page. I want the a4j:poll to only execute once so I did not add its ID in the reRender list and I have a limitToList="true".
Since my update to 3.3.1, a4j:poll seem to reRender himself automatically.
Is it normal?
My Code (a4j:poll is at the end):
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:a="http://www.taleo.com/portal"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:t="http://myfaces.apache.org/tomahawk">
<f:subview id="subview_#{wid.widgetUserNo}">
<h:form id="frm_#{wid.widgetUserNo}">
<rich:contextMenu attached="false" id="menu_#{wid.widgetUserNo}" submitMode="ajax">
<rich:menuItem value="Move Up" action="#{WidgetPageFactory.moveWidgetUp}" reRender="tabWidgetContainer">
<a4j:actionparam name="moveupno" value="#{wid.widgetUserNo}" assignTo="#{WidgetPageFactory.contextWidgetNo}" />
</rich:menuItem>
<rich:menuItem value="Move Down" action="#{WidgetPageFactory.moveWidgetDown}" reRender="tabWidgetContainer">
<a4j:actionparam name="movedownno" value="#{wid.widgetUserNo}" assignTo="#{WidgetPageFactory.contextWidgetNo}" />
</rich:menuItem>
<rich:menuItem value="Setting" action="mywidgetprofile" />
<rich:menuItem value="Share this widget (Soon...)" />
</rich:contextMenu>
</h:form>
<!-- Standard widget container -->
<rich:panel headerClass="rich-panel-header_wid" id="bob">
<f:facet name="header">
<h:form>
<rich:dragSupport dragType="widget" dragIndicator=":indicator">
<a4j:actionparam value="#{wid.widgetUserNo}" name="widkey"/>
<a4j:actionparam value="#{wid.page.widgetPageNo}" name="widpageno"/>
</rich:dragSupport>
<h:panelGrid columns="5" style="width:100%;" rowClasses="header_row"
columnClasses="standardTable_ColumnTopLeft, headerToogleTable, headerToogleTable,headerToogleTable,headerToogleTable">
<h:outputText value="#{wid.title}" style="vertical-align:center;"/>
<h:graphicImage id="idSetting" style="border-width:0px;vertical-align:middle;" value="/images/widgets/wid_setting.png">
<rich:componentControl attachTo="idSetting" event="onclick" for="menu_#{wid.widgetUserNo}" operation="show" />
</h:graphicImage>
<t:graphicImage id="idCollapse_#{wid.widgetUserNo}" style="border-width:0px;vertical-align:center;"
value="/images/widgets/wid_collapse.png" forceId="true"
onclick="hideDiv_#{wid.widgetUserNo}();" />
<t:graphicImage id="idShow_#{wid.widgetUserNo}" style="border-width:0px;vertical-align:middle;"
value="/images/widgets/wid_appear.png" forceId="true"
onclick="showDiv_#{wid.widgetUserNo}();" />
<h:graphicImage id="idClose" style="border-width:0px;vertical-align:middle;"
value="/images/widgets/wid_close.png">
<a4j:support event="onclick" action="#{WidgetPageFactory.removeWidget}" onsubmit="if (!confirm('Are you sure you want to delete this widget?')) return false;" reRender="tabWidgetContainer">
<a4j:actionparam name="widnumber" value="#{wid.widgetUserNo}" assignTo="#{WidgetPageFactory.contextWidgetNo}" />
</a4j:support>
</h:graphicImage>
</h:panelGrid>
</h:form>
</f:facet>
<!-- Widget Report Data -->
<a4j:region rendered="#{wid.report.reportType.reportTypeNo == 2}">
<rich:panel bodyClass="container-body" style="width:96%;overflow:auto;" id="pan_wid">
<c:forEach items="#{wid.report.rciTableList}" var="tbl">
<a:rciRenderTable table="#{tbl}" id="Tbl" />
</c:forEach>
</rich:panel>
</a4j:region>
<!-- Widget Report Data -->
<a4j:region rendered="#{wid.report.reportType.reportTypeNo == 3}">
<rich:panel bodyClass="container-body" style="width:96%;" id="pan_wid_list">
<h:outputText value="This is a list..." />
</rich:panel>
</a4j:region>
</rich:panel>
<rich:effect name="hideDiv_#{wid.widgetUserNo}" for="pan_wid" type="BlindUp" params="duration:0.5"/>
<rich:effect name="showDiv_#{wid.widgetUserNo}" for="pan_wid" type="Appear" params="duration:0.5" />
<!-- Polling mechanic -->
<a4j:region rendered="#{wid.report.reportType.reportTypeNo == 2}">
<h:form>
<a4j:poll id="poll_#{wid.widgetUserNo}" interval="10000" action="#{WidgetPageFactory.pollWidgetReport}" eventsQueue="widgetPollQueue"
enabled="true" reRender="pan_wid" limitToList="true" status="myportalStatus">
<a4j:actionparam name="widno" value="#{wid.widgetUserNo}" assignTo="#{WidgetPageFactory.contextWidgetNo}" />
</a4j:poll>
</h:form>
</a4j:region>
</f:subview>
</ui:composition>