Я видел, как Sitemesh использовался с Spring и Freemarker (FTL). Итак, я хочу узнать, что такое Sitemesh и как его использовать с FTL, на примере.
Что такое сетка сайта
- Думали ли вы о том, чтобы посмотреть на домашнюю страницу и прочитать ее? opensymphony.com/sitemesh 14.03.2011
- Это в комментарии к тегу о sitemesh (наведите указатель мыши на сам тег)... просто говорю:) 08.08.2012
Ответы:
@см.: http://www.opensymphony.com/sitemesh/
Что это?
SiteMesh — это структура макета и оформления веб-страницы, а также среда интеграции веб-приложений, помогающая создавать большие сайты, состоящие из множества страниц, для которых требуется согласованный внешний вид, навигация и схема макета.
SiteMesh перехватывает запросы к любой статической или динамически сгенерированной HTML-странице, запрошенной через веб-сервер, анализирует страницу, получает свойства и данные из контента и генерирует соответствующую конечную страницу с модификациями оригинала. Это основано на хорошо известном шаблоне проектирования GangOfFour Decorator.
SiteMesh также может включать целые HTML-страницы в виде панели на другой странице. Это похоже на включение на стороне сервера, за исключением того, что HTML-документ будет изменен для создания визуального окна (с использованием метаданных документа в качестве вспомогательного средства) на странице. Используя эту функцию, можно очень быстро и эффективно создавать веб-сайты типа портала. Это основано на хорошо известном шаблоне проектирования GangOfFour Composite.
SiteMesh построен с использованием Java 2 с технологиями Servlet, JSP и XML. Это делает его идеальным для использования с приложениями J2EE, однако его можно интегрировать с серверными веб-архитектурами, не основанными на Java, такими как CGI (Perl/Python/C/C++/и т. д.), PHP, ColdFusion и т. д.
SiteMesh очень расширяемый и разработан таким образом, что его легко расширять для пользовательских нужд.
sitemesh — это фреймворк для макета веб-страницы.
OpenSymphony больше не существует, поэтому лучшая документация по Sitemesh, которую я видел, доступна через их Wiki и в виде Readme в их репозитории Github.
Я хотел бы предупредить, что если вы заинтересованы в использовании Sitemesh или, по крайней мере, понимаете его структуру в проекте, Sitemesh2 и Sitemesh3 имеют существенные различия в своей структуре и реализации, хотя концептуально они работают одинаково.