【发布时间】:2011-03-09 11:38:17
【问题描述】:
我想在我的 JSF Web 项目中实现 Ajax。我用谷歌搜索发现ICEFaces 使用JSF 支持Ajax。但是我不知道它的可用性。
任何有Ajax/JSF经验的人,请指导我去哪里。
[编辑]
如果有人有类似的经历,请分享可用性。 好与坏..
【问题讨论】:
我想在我的 JSF Web 项目中实现 Ajax。我用谷歌搜索发现ICEFaces 使用JSF 支持Ajax。但是我不知道它的可用性。
任何有Ajax/JSF经验的人,请指导我去哪里。
[编辑]
如果有人有类似的经历,请分享可用性。 好与坏..
【问题讨论】:
JSF 2.0 使用 f:ajax 标记内置了对 Ajax 的支持。所有三个 ICEFaces、OpenFaces 和 RichFaces 也都具有支持 Ajax 的组件,但是使用 JSF 2.0,现在可以在不使用第三方库的情况下将 Ajax 添加到您的应用程序中。 IBM 在这方面有一系列不错的教程:http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=JSF+2+fu
【讨论】:
【讨论】:
JSF 2.0 通过 f:ajax 标签内置了基本的 AJAX 功能。
David Geary 在他的 jsf-fu 文章的第 3 部分中展示了如何做到这一点。 http://www.ibm.com/developerworks/java/library/j-jsf2fu3/index.html
【讨论】:
在 JSF 中使用 Ajax 非常简单和优雅,但您不应该因为调试限制而滥用。
HTML 页面片段:
<h:commandLink value="tab 1">
<f:param name="tabIndex" value="1" />
<f:ajax event="click" render=":contentForm" listener="#{tabBB.handleTabChange}"/>
</h:commandLink>
支持 bean 片段:
public boolean handleTabChange() {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
String index = externalContext.getRequestParameterMap().get("tabIndex");
setTabIndex(Integer.parseInt(index));
return true;
}
【讨论】: