【问题标题】:Integrate JQuery with JSF将 JQuery 与 JSF 集成
【发布时间】:2011-02-05 20:24:03
【问题描述】:

我有一个主要使用 Richfaces 的 JSF 应用程序。我想介绍一个功能更丰富的网格控件,比如基于jQuery的jqgrid。是否可以从 JSF 支持 bean 获取 JSON 数据?如果没有,是否有替代方法?

【问题讨论】:

    标签: jquery json jsf


    【解决方案1】:

    您还可以将 JAX-RS 用于返回 JSON 对象的 REST 服务。 JAX-RS 和 JSF 都是 Java EE 6 的一部分。此外,通过新的 JEE6 依赖注入 (CDI),您可以轻松地在 JSF 托管 bean 和 JAX-RS 服务之间共享会话状态 - JSF 托管 bean 可以@Inject 注入服务类。

    【讨论】:

      【解决方案2】:

      这里可能有几个选项。

      1. Bean 方法可以返回一个字符串,它只是一个 JSON 字符串

        public String getSearchResult(){ 
             results = SearchService.getResults();
             return JsonHelper.convertToJson(results);
        }
        

        您可以使用 JsonLib 将 Java 对象转换为 Json。

      2. 使用不同的 Servlet 为网格请求提供服务

        我会推荐这种方法。原因是您可以有一个 JSON 请求,然后是一个 JSON 响应,而无需打扰 JSF。因为我不认为当你使用 jQuery 时你需要使用 JSF。所以不要在其中混入 JSF,这种情况下可以直接绕过 JSF 层。因为在这里没有意义。这是我使用的方法。我可以和你分享代码来实现这一点。

      3. 使用 JSF Phase Listener 返回 Json 响应。

      希望对你有帮助

      【讨论】:

      • 你有什么例子吗?
      • @Pavitar Singh 您能否为您提到的第二点提供一些样本
      • 如果你对 JsonHelper maven repo 给出任何意见,那就太好了,因为我尝试使用 com.sdicons.jsontoolsjsontools-core artifactId> 1.4
      猜你喜欢
      • 2012-09-18
      • 2012-02-01
      • 2011-02-18
      • 1970-01-01
      • 2012-08-31
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多