2010-10-31 6 views
1

Я пишу приложение на основе Sping MVC, все мои методы внутри контроллера возвращают объекты ModelAndView.Spring MVC 3.0 + jsp footer

Что я хотел бы сделать, это применить стандартный HTML-нижний колонтитул на каждой странице JSP, например, signup/signin/about us/contact use/etc ... Есть ли способ сделать это в контроллере? Я знаю, что могу использовать

<%@ include file="footer.jsp" %> 

но я уверен, что должен быть более элегантный способ сделать это.

+1

Может ли http://www.opensymphony.com/sitemesh/ быть решением для вас? –

+0

Может быть, но я интересен в каком-то из решений на основе Spring MVC. –

ответ

1

Что-то вроде этого является обязанностью слоя представления - контроллеры не должны знать, что взгляды имеют общее что-либо; контроллеры знают только имя вида.

Итак, как вы можете реализовать это, полностью зависит от используемой технологии уровня обзора. Если вы используете JSP, вы можете просто включить footer.jsp в каждое представление jsp или использовать такой инструмент, как Sitemesh (что отлично), чтобы иметь возможность собирать общие макеты в одном файле. Если использовать движок шаблонов, такой как Velocity, тривиально также устанавливать общие «макеты», которые могут захватывать общую логику - например, наличие заголовка, меню, нижнего колонтитула и т. Д. - в одном месте, а затем загружать шаблон контента для каждого отдельного пользователя стр.

+0

ОК, спасибо, это то, что я думал. –

+0

Спасибо тоже. @ danny.lesnik, в каком направлении вы это сделали? – Xonatron