【问题标题】:How to use Ajax with JSF 2.0?如何在 JSF 2.0 中使用 Ajax?
【发布时间】:2011-03-09 11:38:17
【问题描述】:

我想在我的 JSF Web 项目中实现 Ajax。我用谷歌搜索发现ICEFaces 使用JSF 支持Ajax。但是我不知道它的可用性。

任何有Ajax/JSF经验的人,请指导我去哪里。

[编辑]

如果有人有类似的经历,请分享可用性。 好与坏..

【问题讨论】:

    标签: java ajax jsf-2


    【解决方案1】:

    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 内置的 Ajax 支持功能是否强大,例如 ICEFaces、OpenFaces 或 RichFaces?还是与其他人相比有局限性或困难?
    • 它很强大,但是 JSF 2.0 没有一组丰富的支持 Ajax 的组件。因此,如果您发现您需要一个支持 Ajax 的组件,而 JSF 2.0 还没有它,您将需要使用第三方组件库。我自己非常喜欢 OpenFaces,但 RichFaces 和 ICEFaces 也是很棒的库。
    • 我可以在一个应用程序中同时使用内置和第三方吗?有可能吗?
    • @Muneer:是的,你绝对可以这样做。
    • 如果我使用 Spring web 之类的任何框架,我是否有没有 Openface/iceface 的 Ajax 支持?
    【解决方案2】:
    【解决方案3】:

    JSF 2.0 通过 f:ajax 标签内置了基本的 AJAX 功能。

    David Geary 在他的 jsf-fu 文章的第 3 部分中展示了如何做到这一点。 http://www.ibm.com/developerworks/java/library/j-jsf2fu3/index.html

    【讨论】:

    • 你能推荐我哪一个好用吗?与第 3 方相比,是否内置了对开发人员更友好的一种?
    • 哪一个?我不明白 - 这是在 Java EE 6 中的标准 JSF 2.0 中,没有任何额外的下载。请参阅链接文章了解如何使用它。
    • 是的 Trorobjorn,我问的是第三方 Ajax 库和内置 Ajax 库的易用性。
    • 从JEE6中的那个入手,很简单,可能满足你的需要。
    【解决方案4】:

    在 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;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 2011-07-24
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多