I'm using ICEfaces with ICEpush to push some data to the browser.
However, it does not work like planned: It does no AJAX, it just invokes the action and returns from the action like any other non-AJAX action does.
I'm using the newest ICEfaces and ICEpush versions and Tomahawk 7 and JSF 2.
It works with neither Servlet 2.5 nor Servlet 3.0.
These are the important parts of my bean (view scoped):
public AjaxTest() {
PushRenderer.addCurrentSession(PUSH_GROUP);
}
public void addText() throws InterruptedException {
for(int i = 0; i < 5; i++) {
lines.add("line " + i);
PushRenderer.render(PUSH_GROUP);
Thread.sleep(1000);
}
}
And this is a snippet of my form:
<h:panelGroup>
<h:dataTable id="ajaxTestTable" value="#{ajaxTest.lines}" var="line">
<h:column>
<h:outputText value="#{line}" />
</h:column>
</h:dataTable>
<h:commandButton id="startAjax" value="Start"
action="#{ajaxTest.addText}" />
</h:panelGroup>
Did I miss something? Thanks!
ICEfaces 2.0 is not yet integrated with MyFaces. Have you tried your application with the included Mojarra .jar files?