Шаблоны в веб-приложении 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