![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| NiUb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 20.7.2009 Репутация: нет Всего: нет |
Здравствуйте
Я столкнулся с такой проблемой - есть приложение, на jsp странице отображаются данные из БД , весь процесс ковыряний в БД реализован на самой странице, при получении из БД нужных данных, формируется объект(при помощи hibernate) Затем при помощи pageContext.setAttribute(*,*,*) этот объект "устанавливается" для этой страницы => я могу из скриплета вызывать методы этого объекта и тд и тп, вобщем работать с ним как с обычным pojo Моя задача убрать логику работы с БД с jsp страницы, путем использования либо сервлетов, либо спринг контроллеров Я пробую сделать так - использую AbstractCommandController и метод protected ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) - из контоллера лезу в БД создаю требуемый объект, затем создаю map с параметрами которые мне будут нужны на jsp (вместе с требуемым объектом) и передаю это все сюда
Вот теперь вопрос - могу я как то в таком случае достучаться до нужного мне объекта которые храниться в "mymap", то есть достучаться я до него могу так mymap.myobject, но мне нужно чтобы на странице существовал сам объект myobject, так чтобы я мог вызывать его методы из скриплета Такое возможно ? или можно как то через обычные сервлеты сделать ? Заранее благодарен за помощь Это сообщение отредактировал(а) NiUb - 6.4.2010, 14:19 |
|||
|
||||
| garbuz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 677 Регистрация: 22.1.2008 Репутация: 8 Всего: 11 |
Все возможно.
Если используете спринг, то кладите все в map, на транице сразу дергайти объект без обращения к map. Вызов методов в скриплетах не очень хорошая практика и вообще сами скриплеты тоже. На так как вас на страницу нужно передать бин, то скорее всего необходимо отбразить значения его полей. Пользуйтесь jstl, вытягивате значение через
|
|||
|
||||
| NiUb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 20.7.2009 Репутация: нет Всего: нет |
garbuz, спасибо за отклик, но мне нужно именно вызывать методв а не поля, понимаю что это не сильно хорошая практика, но логика была изначально реализованна так, и очень тяжело и долго переносить её в контроллер
Мне бы какой то приёмчик с <jsp:useBean / > но только уже инициализированным моим злополучным объектом .... ) |
|||
|
||||
| drG100k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
А чем обычный useBean не нравится? Выставил scope="application" и лови свой инстанс наздоровье (если объект УЖЕ есть) Этот таг сначала ищет объект бина, если не находит, то уж тогда создаёт. |
|||
|
||||
| NiUb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 20.7.2009 Репутация: нет Всего: нет |
Спасибо
Я воспользовался в контроллере requsest.setAttribute() а в jsp в скриплете словил инстанс getAttribute()утом
Тут я не допонял( Что Вы имели ввиду ? Где я могу инициализировать свой бин с выставлением scope ? |
|||
|
||||
![]()
|
| Правила форума "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. |