tags:

views:

4393

answers:

2

I have a JSF application that uses mostly Richfaces. I would like to introduce a more feature-rich grid control, such as the jQuery-based jqgrid. Is it possible to get JSON data from a JSF backing bean? If not, is there an alternative approach?

+1  A: 

There could be couple of options here.

  1. Bean method can return a String which is nothing but a JSON String

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

    You can use JsonLib to convert Java Objects to Json.

  2. Use a different Servlet to service Grid Requests

    I will recommend this approach. Reason is you can have a JSon Request and then a JSON Response, without bothering of JSF. As i dont think when you are using jQuery you need to use JSF. So dont mix JSF in it and you can directly bypass JSF layer for this case. As it doesnt make sense here.This is the approach i used. I can share the code with you to achieve this.

  3. Use a JSF Phase Listener to return Json Response.

Hope it helps

Pavitar Singh
A: 

Hi, I have similar problem like Mike, I want to make an web application based on java and jsf with use some data from MongoDB, I know how to get data in jsonstring from Mongo, I do it in java backing bean method. The problem is how can I get the results of this method in jqgrid javaScript? I can't straightly write url:"#{mongoDB.dataGrid}" (dataGrid is method in mongoDB bean), what is the way to do that.

Regards, Pawel

Pawel
Welcome at Stackoverflow :) If you have a **question**, please press `Ask Question` button at top, do not post it as an **answer** by `Post Your Answer` at the bottom ;)
BalusC