2009-05-28 2 views
3

У меня есть приложение JSF, которое использует в основном Richfaces. Я хотел бы представить более многофункциональный элемент управления сетью, такой как jQuery-based jqgrid. Можно ли получить данные JSON из компонента поддержки JSF? Если нет, есть ли альтернативный подход?Интеграция JQuery с JSF

ответ

3

Здесь может быть несколько вариантов.

  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, чтобы вернуть Json Response.

Надеется, что это помогает

+0

Вы можете поделиться своим кодом для этого? (как вы писали в 2). – user590586

+0

Вы какой-то пример для этого? – user590586

+0

@Pavitar Singh Могли бы вы предоставить некоторый образец для 2-ого пункта вы упомянули пожалуйста –

0

Вы также можете использовать JAX-RS для REST услуг, которые возвращают объекты JSON. JAX-RS и JSF являются частью Java EE 6. Кроме того, с новой инъекцией зависимостей JEE6 (CDI) вы можете легко делиться состоянием сеанса как с управляемыми фазами JSF, так и с JAX-RS-сервисами - управляемый JSF-компонент может быть @ Inject'ed в класс обслуживания.

Смежные вопросы