a4j:poll
pranav_vaidya Apr 29, 2007 9:58 PMHello,
I tried executing the code given for the sample poll on this site on my TOMCAT webserver.
With a deployable WAR file, the code works fine.
However, the exact same JSP and a similar backing bean run but the polling happens only once. The counter is only incremented once. The following is the JSP code and the backing bean.
public class MyBean { private Integer counter; public MyBean() { } public Integer getCounter() { System.out.println(this.counter); return counter; } public void setCounter(Integer counter) { this.counter = counter; } public String incCounter() { counter++; return null; } public String resetCounter() { counter = 0; return null; } }
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j" %> <html> <head> <title>A4j-poll. Example of use.</title> </head> <body> <f:view> <h:outputText value="Auto Counter:" /> <h:outputText id="cnt" value="#{myBean.counter}" /> <h:form> <a4j:poll id="picker" enabled="#{myBean.counter != 5}" action="#{myBean.incCounter}" reRender="picker, cnt, reset" interval="1000"/> <h:panelGroup id="reset" > <a4j:commandButton image="/images/counter.gif" reRender="picker,:cnt, reset" action="#{myBean.resetCounter}" rendered="#{myBean.counter == 5}"/> </h:panelGroup> </h:form> </f:view> </body> </html>
And faces-config.xml is
<?xml version="1.0"?> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> <faces-config> <managed-bean> <managed-bean-name>wBean</managed-bean-name> <managed-bean-class>WeatherLocationBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>locations</property-name> <property-class>java.util.List</property-class> <list-entries/> </managed-property> <managed-property> <property-name>location</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>place</managed-bean-name> <managed-bean-class>Place</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>icon</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>id</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>lat</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>lng</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>zoom</property-name> <property-class>int</property-class> <value/> </managed-property> <managed-property> <property-name>desc</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>nameToDisplay</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>pcBean</managed-bean-name> <managed-bean-class>PointCollBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>point</property-name> <property-class>java.util.ArrayList</property-class> <list-entries/> </managed-property> <managed-property> <property-name>currentId</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> <managed-property> <property-name>gmapKey</property-name> <property-class>java.lang.String</property-class> <value/> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>myBean</managed-bean-name> <managed-bean-class>MyBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>counter</property-name> <property-class>java.lang.Integer</property-class> <value>0</value> </managed-property> </managed-bean> </faces-config>
I dont understand why the counter is only incrementing once. The first AJAX request if being processed. However, the next AJAX requests are not being sent to the server.
Please Help !!
Thanks and Regards,
Pranav