2012-03-30 3 views
0

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

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

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

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

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

+0

Я нашел этот ответ SiteMesh: http://stackoverflow.com/questions/2885229/java-web-templates-across-multiple-war-files Возможно, это решение, которое мы могли бы использовать, ограничиваться только тем, что веб-приложение должно быть на том же сервере, что и веб-приложение с украшениями. –

+0

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

+0

Мне нравится, что Velocity настраивается таким образом, однако, после беседы в списке рассылки SiteMesh 2 с создателем, он смог дать мне еще несколько советов о том, как заставить его работать во время войн на одном сервере. Этого, вероятно, будет достаточно для наших нужд. –

ответ

3

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

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