a4j:poll server date clock not updating
bp2s Oct 23, 2009 11:36 AMHi - easy one I hope:
Cut and pasted code from the web nice and easy - all I'm after is a clock from the server output on the header of my web app. The bean loads fine no errors (built in eclipse/ant/tomcat all the latest by the date of this post), and outputs the date in the header, but it's not updating. I've been on at it for a day (waste?) and it's still not working. Any help enormously appreciated.
i don't think it's cos i'm referencing taglibs on the web and i'm behind a proxy as it'd either error or prompt me and i'm getting silence.
m
index.jsp:
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <!-- RichFaces tag library declaration --> <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%> <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%> <snip> <rich:toolBarGroup> <a4j:region> <h:form> <a4j:poll id="poll" interval="1000" enabled="true" reRender="serverDate" /> </h:form> </a4j:region> <h:form> <h:panelGrid columns="1" width="100%" id="title"> <span id="titleText">MY TITLE  </span> <h:outputText id="serverDate" value="#{Welcome.dateTime}" /> </h:panelGrid> </h:form> </rich:toolBarGroup>
and my Welcome.java code:
package myPkg; import java.util.*; import java.text.DateFormatSymbols; import javax.faces.model.SelectItem; public class Welcome { private String name=""; private String dateTime=""; private List nodes; public String getDateTime() { Calendar cal = new GregorianCalendar(); String[] monthName = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; String[] weekdays = new DateFormatSymbols().getWeekdays(); int year = cal.get(Calendar.YEAR); String date = String.format("%02d", cal.get(Calendar.DAY_OF_MONTH)); String hr = String.format("%02d", cal.get(Calendar.HOUR_OF_DAY)); String min = String.format("%02d", cal.get(Calendar.MINUTE)); String sec = String.format("%02d", cal.get(Calendar.SECOND)); dateTime = weekdays[cal.get(Calendar.DAY_OF_WEEK)] + " " + monthName[cal.get(Calendar.MONTH)] + " " + date + " " + year + " " + hr + ":" + min + ":" + sec; return dateTime; } }