Кто-нибудь успешно использует Джерси во встроенном режиме (не env сервлета, а автономный экземпляр Grizzly) с механизмом шаблонов?
Скорость, Freemarker, Japid, Rythm, любой другой? То, что я ищу, - это решение, похожее на то, что JSP предоставляет в среде сервлетов. Это должна быть форма реализации ViewProcessor, но работающая над автономным встроенным развертыванием Grizzly (архитектура NIO).
3 ответа
В Jersey есть поддержка шаблонов freemarker - см. Модуль jersey-freemarker на maven. Работает с любым контейнером (т.е. не зависит от сервлета). В рабочей области Джерси есть также пример бесплатного маркера, который показывает, как его использовать - см. Здесь.
Я думаю, что все перечисленные вами движки шаблонов могут использоваться в независимой среде. Специально для Rythm (потому что я автор этого материала), он загружает файлы шаблонов из разных источников:
из предоставленного контента String:
String result = Rythm.render("hello @who", "world");
из файла, найденного из
rythm.root
установка:String result = Rythm.render("helloWorld.html", "world");
из файла, найденного из пути к классу, если у вас нет
rythm.root
настроить
Он просто не зависит от какого-либо контейнера сервлетов, поэтому вы можете использовать его до тех пор, пока у вас есть JRE. Обязательно установите rythm.noFileWrite
в true
если вы хотите использовать его в GAE, где не допускается запись в файл.
Проект с открытым исходным кодом
http://www.bitplan.com/index.php/SimpleRest
предоставляет базовый класс TemplateResource, который будет выполнять большую часть "тяжелой работы", чтобы заставить Джерси, Гризли и движок шаблонов Rythm хорошо работать вместе.