Mike Sickler
Mike Sickler

Reputation: 34451

Integrate JQuery with JSF

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?

Upvotes: 3

Views: 12565

Answers (2)

wrschneider
wrschneider

Reputation: 18780

You could also use JAX-RS for REST services that return JSON objects. JAX-RS and JSF are both part of Java EE 6. Additionally with new JEE6 dependency injection (CDI) you can easily share session state across both JSF managed beans and JAX-RS services - a JSF managed bean can be @Inject'ed into a service class.

Upvotes: 0

Pavitar Singh
Pavitar Singh

Reputation: 2373

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

Upvotes: 3

Related Questions