【发布时间】:2011-08-31 01:47:02
【问题描述】:
我正在使用 ICEfaces 和 ICEpush 将一些数据推送到浏览器。
但是,它并没有按计划工作:它不执行 AJAX,它只是调用操作并从操作返回,就像任何其他非 AJAX 操作一样。
我正在使用最新的 ICEfaces 和 ICEpush 版本以及 Tomahawk 7 和 JSF 2。
它既不适用于 Servlet 2.5 也不适用于 Servlet 3.0。
这些是我的 bean 的重要部分(视图范围):
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);
}
}
这是我形式的 sn-p:
<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>
我错过了什么吗?谢谢!
【问题讨论】:
-
你的配置怎么样?您使用的是哪些不同的?是否存在所有必要的框架配置?你这里似乎有很多不同的。
-
感谢您抽出宝贵时间!它不适用于 ICEfaces 的 detault 配置值。你指的其他配置是什么?我没有配置任何特殊的东西。也许这是 MyFaces 的问题?我的想法不多了。 :(
-
您是否在 web.xml 中映射了推送 servlet?会不会是这个原因?