![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Eugenia12 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.1.2012 Репутация: нет Всего: нет |
Всем доброго времени суток!
Только начинаю изучать пользовательские теги и случилась такая проблема, связанная с непониманием вывода в jsp этих самых пользовательских тэгов. Если кто с такой проблемой сталкивался уже помогите плиз разобраться. Есть таблица в БД, из которой считываются данные, а именно поля id, name и hidden. Класс Section содержит поля id, name и hidden. Класс Sections extends TreeSet<Section>. Считываемые данные из БД заноситься в класс Sections, который создаётся в обработчике тэга, а затем, используя итератор, потоком вывода и установкой атрибутов pageContext объекты Sections отображаются в jsp. При первом обращении к этой jsp данные считываются из БД и отображаются как надо, но при изменении этих данных в БД (например редактировании или добавлении новой записи в БД) и обновлении страницы ничего не изменяется, в jsp как было всё так и остаётся( Только после reload сервера и обновлении страницы можно увидеть обновлённые данные БД. Кста если использовать в jsp вместо пользовательского тэга javaBean, то всё работает и отображается норм. А вот с taglib какая-то беда... только после перезапуска сервера... Почему так происходит? Куда копать? Класс обработки тэга:
Часть кода jsp: <%@taglib uri="/WEB-INF/tlds/options.tld" prefix="options"%> <html> ... <options:Sections> <tr> <td> <input type="checkbox" name="sections" value="${id}"/> </td> <td> <a href="edit.action?param=sections&val=${name}"> ${name}</a> </td> </tr> </options:Sections> </html> |
|||
|
||||
| Eugenia12 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 27.1.2012 Репутация: нет Всего: нет |
Вопрос решён!
Инициализацию TreeSet-a private Sections sections = new Sections(); нужно было оставить null, т е private Sections sections; а в doStartTag () присваивать уже sections = new Sections(); чтобы при каждом вызове тэга TreeSet заполнялся заново из БД. А то получалось что TreeSet инициализировался один раз при развёртывании приложения, отсюда и TreeSet повторно заполнялся обновлёнными данными из БД только после перезагрузки сервера и соответственно reload-a контекста. |
|||
|
||||
![]()
|
| Правила форума "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. |