Шаблоны в веб-приложении Spring

У меня есть много общих областей в моем дизайне веб-приложений, например нижний колонтитул, панель заголовков, блоки... и т.д. и через все JSP файлы приложения, чтобы что-то изменить, например, в заголовке, довольно беспокойно, поэтому я было интересно, могу ли я сделать что-то вроде файлов шаблонов для общих областей, например, шаблона заголовка, шаблона боковой панели, шаблона нижнего колонтитула, затем я могу включить такие шаблоны в любой JSP внутри моего приложения?

Я использую Spring структуру MVC для создания моего приложения

Ответ 1

Что касается шаблонов, у вас есть следующие опции:

  • Пользовательские теги JSP. Эти теги могут существовать как классы Java или фрагменты JSP и предоставляют базовое средство для инкапсуляции и повторного использования частей страниц JSP (верхние и нижние колонтитулы и т.д.). Подробнее в данном руководстве

  • Двигатели шаблонов, такие как Tiles или декораторы, например Sitemesh. Они довольно мощные в построении сложных макетов страниц.

Если вы ищете поддержку пользовательских пользовательских интерфейсов, ознакомьтесь с поддержкой настраиваемых тем в Spring MVC.

Ответ 2

Я использовал Apache Tiles. Его можно легко интегрировать с помощью Spring MVC. Вы также можете использовать sitemesh. Как вы упомянули шаблон заголовка, шаблон нижнего колонтитула вы можете иметь базовый шаблон для заголовок, нижний колонтитул, меню, и вы можете интегрировать их в базовый шаблон,

Примечание. Здесь вы можете использовать только jsp, а не html.

Отметьте эту ссылку для Spring с помощью плиток.

http://www.springbyexample.org/examples/dynamic-tiles-spring-mvc-module.html

Ответ 3

Если вы хотите разделить Header, Footer и некоторые другие общие вещи из "реального" контента, вы можете использовать Apache Tiles.

Легко интегрировать в spring. Так например Spring Roo использовать его.

Ответ 4

В идеале да, вам нужно создать общие файлы вместо избыточного кода, потому что это может привести к большим изменениям, если вы хотите изменить одну вещь. Поэтому попробуйте использовать ниже код на основе вашего требования.

<%@ include is a static include, <jsp:include is a dynamic include.

Другое решение. Поскольку вы используете инфраструктуру Spring, попробуйте использовать Spring поиск фрагментов в google для получения дополнительной справки, например SpringByExample