Кто-нибудь успешно использует Джерси во встроенном режиме (не env сервлета, а автономный экземпляр Grizzly) с механизмом шаблонов?

Скорость, Freemarker, Japid, Rythm, любой другой? То, что я ищу, - это решение, похожее на то, что JSP предоставляет в среде сервлетов. Это должна быть форма реализации ViewProcessor, но работающая над автономным встроенным развертыванием Grizzly (архитектура NIO).

3 ответа

Решение

В Jersey есть поддержка шаблонов freemarker - см. Модуль jersey-freemarker на maven. Работает с любым контейнером (т.е. не зависит от сервлета). В рабочей области Джерси есть также пример бесплатного маркера, который показывает, как его использовать - см. Здесь.

Я думаю, что все перечисленные вами движки шаблонов могут использоваться в независимой среде. Специально для Rythm (потому что я автор этого материала), он загружает файлы шаблонов из разных источников:

  1. из предоставленного контента String:

    String result = Rythm.render("hello @who", "world");

  2. из файла, найденного из rythm.root установка:

    String result = Rythm.render("helloWorld.html", "world");

  3. из файла, найденного из пути к классу, если у вас нет rythm.root настроить

Он просто не зависит от какого-либо контейнера сервлетов, поэтому вы можете использовать его до тех пор, пока у вас есть JRE. Обязательно установите rythm.noFileWrite в true если вы хотите использовать его в GAE, где не допускается запись в файл.

Проект с открытым исходным кодом

http://www.bitplan.com/index.php/SimpleRest

предоставляет базовый класс TemplateResource, который будет выполнять большую часть "тяжелой работы", чтобы заставить Джерси, Гризли и движок шаблонов Rythm хорошо работать вместе.

Другие вопросы по тегам