![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| maz543 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.2.2009 Репутация: нет Всего: нет |
Изучаю спринг, пример petclinic.
Хочу свой проект сделать по аналогии, простенький сайт. Такой вопрос. У меня есть меню, которое строится на основе данных из базы. Каким образом, анатацией, можно создать это меню, положить во view? Чтобы этого не делать в каждом контроллере или чтобы меню доставалось из базы, а потом выполнялись действия конкретного контроллера. |
|||
|
||||
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Если используеш Tiles то там есть такая штука ViewPreparer.
|
|||
|
||||
| maz543 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.2.2009 Репутация: нет Всего: нет |
Я использую jstl
|
|||
|
||||
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Ну тогда в голову приходит, что вам придетя описывать свои ViewResolver и View. Тогда вы всегда перед тем как рендерить йсп, сможете в модел записать даные ис БД о меню.
|
|||
|
||||
| maz543 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.2.2009 Репутация: нет Всего: нет |
Мне кажется это странным, что на типичную функциональность нет стандартного решения.
Будем искать дальше. |
|||
|
||||
| afon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.4.2008 Где: Украина, Киев Репутация: нет Всего: 1 |
У меня есть базовый контроллер всех типовых форм - BaseFormController, от которого потом наследуются все остальные, и даже еще несколько базовых, совсем простых. Так вот, в спринговых контроллерах есть методы showForm и handleRequestInternal, через первый метод все контроллеры проходят всегда, когда показывают форму, через второй - всегда, когда получают какой-нибудь реквест, кроме onSubmit. Из этих двух методов можешь вызывать какой-нибудь свой метод (у меня - fillModelMap(HttpServletRequest, Map)) {return Map}- который сам будет набрасывать в этот Map все нужные объекты. А этот Map потом кладется во view уже внутри методов showForm и handleRequestInternal. У меня в каждый view вбрасывается авторизированный пользователь и объект меню. То есть - всегда, при всех типах запросах на любой контроллер, возвращающий произвольный view. Так решил это я, возможно, в спрингах есть более адекватные методы, но я не нашел. |
|||
|
||||
| maz543 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.2.2009 Репутация: нет Всего: нет |
Спасибо за вариант. Мне походу придется делать что-то подобное. Меня удивляет и возмущает то, что этого нет (или я смотрю в книгу, а вижу фигу) в базовых возможностях. С первого взгляда все кажется здоровским и очень элегантным. А как необходимо отойти от стандарта, то никаких возможностей, кроме как архитектурных изощрений. |
|||
|
||||
| afon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.4.2008 Где: Украина, Киев Репутация: нет Всего: 1 |
>>Меня удивляет и возмущает то, что этого нет
Просто spring используется черт те где >>или я смотрю в книгу, а вижу фигу А вы только знакомитесь со спрингами или как бы уже давно и хорошо знакомы? По собственному опыту - чем дальше с ними работаешь, тем больше они "впириают". Это мега штука, серьезно. Взять те же контроллеры - вот вам метод handleRequest - универсальный. Дальше на его основе можно выдумывать все что угодно. Но это я так... |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |