Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение Beanа на jsp странице 
V
    Опции темы
NiUb
Дата 6.4.2010, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 20.7.2009

Репутация: нет
Всего: нет



Здравствуйте
Я столкнулся с такой проблемой -
есть приложение,  на jsp странице отображаются данные из БД , весь процесс ковыряний в БД реализован на самой странице, при получении из БД нужных данных, формируется объект(при помощи hibernate) Затем при помощи pageContext.setAttribute(*,*,*)  этот объект "устанавливается" для этой страницы  => я могу из скриплета вызывать методы этого объекта и тд и тп, вобщем работать с ним как с обычным pojo
Моя задача убрать логику работы с БД с jsp страницы, путем использования либо сервлетов, либо спринг контроллеров
Я пробую сделать так - использую AbstractCommandController и метод protected ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors)  - из контоллера лезу в БД создаю требуемый объект, затем создаю map с параметрами которые мне будут нужны на jsp (вместе с требуемым объектом) и передаю это все сюда  
Код

ModelAndView modelAndView = new ModelAndView("myjsp.jsp", "mymap", mymap);

Вот теперь вопрос - могу я как то в таком случае достучаться до нужного мне объекта которые храниться в "mymap", то есть достучаться я до него могу так mymap.myobject, но мне нужно чтобы на странице существовал сам объект myobject, так чтобы я мог вызывать его методы из скриплета
Такое возможно ? или можно как то через обычные сервлеты сделать ? 
Заранее благодарен за помощь

Это сообщение отредактировал(а) NiUb - 6.4.2010, 14:19
PM   Вверх
garbuz
Дата 6.4.2010, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 677
Регистрация: 22.1.2008

Репутация: 8
Всего: 11



Все возможно.
Если используете спринг, то кладите все в map, на транице сразу дергайти объект без обращения к map.
Вызов методов в скриплетах не очень хорошая практика и вообще сами скриплеты тоже. На так как вас на страницу нужно передать бин, то скорее всего необходимо отбразить значения его полей. Пользуйтесь jstl, вытягивате значение через
Код

<c:out value=${bean.field}/>


PM MAIL   Вверх
NiUb
Дата 6.4.2010, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 20.7.2009

Репутация: нет
Всего: нет



garbuz, спасибо за отклик, но мне нужно именно вызывать методв а не поля, понимаю что это не сильно хорошая практика, но логика была изначально реализованна так, и очень тяжело и долго переносить её в контроллер
Мне бы какой то приёмчик с <jsp:useBean / > но только уже инициализированным моим злополучным объектом .... ) 
PM   Вверх
drG100k
Дата 11.4.2010, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Цитата(NiUb @ 6.4.2010,  16:29)

Мне бы какой то приёмчик с <jsp:useBean / > но только уже инициализированным моим злополучным объектом .... )

А чем обычный useBean не нравится? Выставил scope="application" и лови свой инстанс наздоровье (если объект УЖЕ есть)
Этот таг сначала ищет объект бина, если не находит, то уж тогда создаёт. 



PM MAIL   Вверх
NiUb
Дата 13.4.2010, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 20.7.2009

Репутация: нет
Всего: нет



Спасибо
Я воспользовался в контроллере requsest.setAttribute() а в jsp в скриплете словил инстанс getAttribute()утом
Цитата(drG100k @ 11.4.2010,  22:12)
 Выставил scope="application" и лови свой инстанс наздоровье (если объект УЖЕ есть)

Тут я не допонял( Что Вы имели ввиду ? Где я могу инициализировать свой бин с выставлением scope ?

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.