Какие шаблоны / механизмы Java позволяют удаленные шаблоны? - PullRequest
0 голосов
/ 30 марта 2012

У меня средний опыт программирования на Java и довольно большой опыт программирования веб-приложений на других языках.В настоящее время я нахожусь в процессе изучения некоторых веб-фреймворков Java (Spring MVC, Struts.)

Там, где я работаю, у нас есть ряд отдельных веб-приложений Java, развернутых в отдельных контекстах и ​​в отдельных войнах.,Некоторыми из самых старых являются сервлеты, многие из них Struts 1, а новыми будут Spring 3.

Большинство существующих приложений имеют несогласованный или отсутствующий брендинг (графика / оформление), и одна из вещей, которые я применяет согласованный верхний и нижний колонтитулы для нескольких сайтов, которые мы можем поддерживать в одном месте .В идеале он даже не должен находиться на том же сервере, что и веб-приложения.Для ясности - где бы я ни настраивал свой шаблон, я хочу иметь возможность настроить http://some.other.server/template вместо WEB-INF / template.

Я хотел бы использовать SiteMesh или что-то с тем же «декорирующим» подходом, но я исследовал его, и, видимо, единственный способ, которым это было сделано в SiteMesh 2, был кем-то, кто разветвил код и настроил его, чтобы разрешить импорт удаленных шаблонов.(Я нашел эту информацию в группе Google Sitemesh3.)

Я нахожусь в начале разработки этого решения, поэтому я полагаю, что мы могли бы использовать что-нибудь вроде Velocity, Freemarker, Tiles .Однако там, где я работаю, мы не спешим обновлять старые приложения и консервативно относимся к внедрению новых технологий, поэтому я должен доказать, что решение имеет хорошую поддержку сообщества, работает со Struts 1 и Spring 3 MVC, достаточно надежно и стабильно.

1 Ответ

3 голосов
/ 31 марта 2012

Velocity имеет понятие «загрузчик ресурсов», то есть интерфейс для поиска файлов шаблонов, которые можно настроить.Уже есть загрузчик для ресурсов на основе URL.См. Документацию Velocity для загрузчиков ресурсов .Он также имеет базовую поддержку для кэширования.

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

...