Я программист php, сейчас занимаюсь веб-проектом на Java, используя Spring Framework.Я пытаюсь организовать свои JSP-файлы так, как я бы организовал свои .tpl-файлы в php.
Так что, если бы это был php, я бы сделал это так:
- index.tpl
- включает в себя один из layout.tpls (ajax.tpl, mobile.tpl, general.tpl, упрощенный.tpl..)
- включает в себя заголовок страницы
- включает меню
- включает фактическое содержание страницы
- включает нижний колонтитул
тогда из php-контроллера я смогу сделать что-то вроде этого:
setLayout('general');
showTopMenu(false);
setContent('mySexyPage');
, кроме того, что я бы организовал свои вещи так, чтобы мои представления (файлы tpl) были организованы в папки, каждая из которых соответствуетодин контроллер.как это:
- userManager
- addUSer.tpl
- editUser.tpl
- editUserPermissions.tpl
- articleManager
- addArticle.tpl
- editArticle.tpl
и в каждом контроллере каким-то образом определить, из какой папки загружать мой шаблон содержимого.
Теперь весной у меня есть контроллер с методами, обрабатывающими запросы, и каждый из методов возвращает то, каким должно быть представление.Я могу расширить все свои контроллеры из одного абстрактного класса, где я создам экземпляр ModelAndView со всеми установленными значениями по умолчанию, а затем методы обработки запросов добавят то, что им нужно, к экземпляру, который их папа уже создал, и вернут его.
Проблема с вышеуказанным подходом состоит в том, что я не заставляю кодировщика, который пишет контроллеры, использовать объект ModelAndView, который я создал, он по-прежнему возвращает все, что он хочет, из метода обработки, который он написал.
Есть ли какой-нибудь интерфейс, содержащий метод, подобный ModelAndView getModelAndView (), который будет реализовывать мой папский контроллер, поэтому Spring будет игнорировать любые возвращаемые методы-обработчики?
Или есть какой-нибудь лучший способ сделать это?