Я немного смущен тем, что написано в документации (ах) для Freemarker и расширения freemarker Restlet.
Вот ситуация: механизм рестлетов обслуживает HTML-представление ресурса (например, www.mysite.com/{user}/updates). Ресурс, возвращаемый для этого URI, представляет собой HTML-страницу, содержащую все обновления, созданную с помощью шаблона freemarker. Это приложение размещено на сервере Glassfish v3.
Вопросы):
Конфигурация freemarker должна быть загружена только один раз в соответствии с документацией freemarker:
/* You should do this ONLY ONCE in the whole application life-cycle:Create and adjust the configuration */ Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading( new File("/where/you/store/templates")); cfg.setObjectWrapper(new DefaultObjectWrapper());
Как лучше всего это сделать в приложении Java EE? Я думаю о том, чтобы использовать его как context-param в web.xml и использовать ServletContextListener, но я не уверен, как это сделать.
В соответствии с документацией freemarker мы также можем добавить freemarkerservlet и сопоставить ему url-шаблоны .ftl. Но это уже отображается сервлетом Restlet (т. Е. URL-шаблоном "/"). Так что иметь еще один для * .ftl не имеет смысла (или нет?)
Таким образом, вопрос в основном заключается в том, как лучше всего интегрироваться с «конфигурацией» Freemarker, чтобы это происходило только один раз, и какова «точка входа» для этого фрагмента кода (кто его вызывает). Кто-нибудь успешно использовал Freemarker + restlet в среде Java EE? Любые идеи?
Спасибо!