2009-05-28 9 views
3

J'ai une application JSF qui utilise principalement Richfaces. Je voudrais introduire un contrôle de grille plus riche en fonctionnalités, tel que le jqgrid basé sur jQuery. Est-il possible d'obtenir des données JSON à partir d'un bean backing JSF? Sinon, existe-t-il une approche alternative?Intégration de JQuery avec JSF

Répondre

3

Il peut y avoir quelques options ici.

  1. méthode Bean peut renvoyer une chaîne qui n'est une chaîne JSON

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

    Vous pouvez utiliser JsonLib convertir Java Objects en JSON.

  2. Utilisez un autre Servlet au service de la grille Demandes

    Je recommanderai cette approche. Raison est que vous pouvez avoir une demande JSon, puis une réponse JSON, sans déranger JSF. Comme je ne pense pas quand vous utilisez jQuery, vous devez utiliser JSF. Donc ne mélangez pas JSF et vous pouvez contourner directement la couche JSF pour ce cas. Comme cela n'a pas de sens ici. C'est l'approche que j'ai utilisée. Je peux partager le code avec vous pour y parvenir. Utilisez un écouteur de phase JSF pour renvoyer la réponse Json.

Hope it helps

+0

pouvez-vous partager votre code pour ce faire? (comme vous l'avez écrit à 2). – user590586

+0

avez-vous n'importe quel type d'exemple pour cela? – user590586

+0

@Pavitar Singh Pouvez-vous s'il vous plaît fournir un échantillon pour le 2ème point que vous avez mentionné s'il vous plaît –

0

Vous pouvez également utiliser JAX-RS pour les services REST qui retournent des objets JSON. JAX-RS et JSF font tous deux partie de Java EE 6. De plus, avec la nouvelle injection de dépendance JEE6 (CDI), vous pouvez facilement partager l'état de session entre les beans gérés JSF et les services JAX-RS - un bean géré JSF peut être une classe de service.