Вопрос

Я использую хранилище контента (Adobe CQ5), в котором есть стропа Apache внизу. Я хотел бы отображать веб -страницы, используя Freemarker вместо JSP.

Для этого я должен загрузить расширение Osgi Freemarker на стропу, который можно найти в вкладе в часть исходного кода Sling, или вместо этого я должен загрузить версию Freemarker OSGI? Обе банки реализуют интерфейс javax.script.scriptenginefactory, поэтому я не знаю, какой из них использовать или загружать оба.

Это было полезно?

Решение

Мне удалось заставить Freemarker работать над CQ5.3, выполнив следующее:

  1. Получите источник от SVN Checkout http://svn.apache.org/repos/asf/sling/trunk строп
  2. Перейдите в Contrib/Scripting/Freemarker и удалите все ссылки на регистрацию и SLF4J из FreemarkerScriptengine.java - он вызывает ошибку 500 из -за noclassdeffoundexception - я думаю, что существует конфликт между CQ5 и версией SLF4J, включенной в FreeMarker (я сделал конфликт. Покоть, чтобы узнать, что случилось)
  3. Создайте его и установите, он должен появиться на консоли стропок под пакетами и на странице «Двигателей сценариев», и позволить вам использовать сценарии .ftl сейчас.

Я сделал это немного по -другому, создав пакет внутри CQ5, импортируя код и добавив акцент Freemarker.jar в пакет, но это должно работать тоже, так как это в основном то же самое.

Проблема, которую я столкнулся, заключалась в том, что двигатель сценария действительно получен в списке, но регистрация предотвращает его запуск, поэтому вам нужно удалить журнал и SLF4J с двигателя.

Другие советы

Я не знаю о Osgi версия Freemarker; Мы создали собственное объединение Freemarker специально для Sling. Если у вас есть успех, используя Osgi версия Freemarker дайте нам знать ;-)

Тестирование проще: просто установите пакет через веб -консоль и проверьте на наличие поддерживаемых двигателей сценария в веб -консоли Состояние конфигурации. Анкет Если вы видите там двигатель Freemarker, который перечислен там, он должен работать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top