![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| fath_fast |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Итак, есть в базе две таблицы: tab1 и tab2. в tab2 есть внешний ключ на примари ки tab1...
ТЕм самым, образуется связь "один-ко-многим"... Что касается enitity классов, то вот они: tab1 - это section_of_cat - таблица всех секций tab2 - это description_section - таблица подсекций section_of_cat
description_section
Далее идёт веб-форма, в которой необходимо отображение одного значения секции и всех подсекций которые принадлежат этой секции... Вот. Один из варинтов решения, через обчные тэги: <input: <forEach и прочее биндить к форме и от этого плясать... Но зачем создавать велосипед, когда можно воспользоваться неплохими спринговскими тэгами form, а значит, в преопределённом классе SimpleFormContoller - в конструкторе необходимо указать CommandClass, а у меня такого нет... Создаю и получается примерно такое чудо:
Преопределяю protected Object formBackingObject(HttpServletRequest request) на возврат объекта вышеуказанного класса. А в представлении у меня появляются следующтие строки:
В принципе и всё... в итоге сервер мне отвечает что не может прибиндить всё это хозяйство... Подскажите, где я мог ошибиться? И возможен ли вообще такой финт? Заранее Огромное Спасибо!!! |
||||||||
|
|||||||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
у тебя же должны быть классы - сущности , описывающие табл. 1 и табл.2 ,
это у тебя description_section ? (должно быть 2 таких файла) а также ты не выложил главный конфиг файл hibernate.cfg.xml (есть такой)? |
|||
|
||||
| fath_fast |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
v2v,
Эти два файла я как раз и привёл, просто не стал здесь писать геттеры и сеттеры, для компактности (но в коде они у меня есть)... Эти классы (файлы) : section_of_cat-tab1 и description_section - tab2 Ну и конфиг гибернэйтовский (не думаю, что от него в данной ситуции что-то зависит) Это сообщение отредактировал(а) fath_fast - 3.7.2008, 06:20 |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
а там разве не надо использовать аннотацию @Entity перед объявлением класса-биина. И мне не понятен класс section_of_catDAO , по моему мнению ты там должен создать / испольльзовать класс org.hibernate.SessionFactory , который загружает конфиги из hibernate.cfg.xml ... это у тебя есть? Зы. Классный пассворд |
|||
|
||||
| fath_fast |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Везде и там (section_of_cat) и там (description_section) стоят... дело в том, что сущности описанные здесь рабочие (проверено
а вот тут ты пожалуй, прав название не очень удачное, для подобного класса... А класс расширяющий HibernateDaoSupport тоже в наличие, и тоже работает... проблема - в этом блинском биндинге сложных типов к форме - приходится раскладывать их на стринги и лонги, чтобы всё это дело прикрепить к форме, что самом по себе очень накладно, а Сейчас шерстю маны спринговские, глядишь, узнаю чего Это сообщение отредактировал(а) fath_fast - 2.7.2008, 22:44 |
||||
|
|||||
| fath_fast |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
http://static.springframework.org/spring/d...validation.html
Ну вот к примеру по-моему нужная ссылка... Пока возник вопрос, где этот код реализоваывать: (пример из главы):
неужто в protected Object formBackingObject(HttpServletRequest request)? Это сообщение отредактировал(а) fath_fast - 2.7.2008, 22:52 |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
посмотри пример petclinic который входит в архив со спрингом.
|
|||
|
||||
| fath_fast |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
||||
|
||||
| fath_fast |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Вообщем, утро вечера мудренее всё-таки...
Правильный биндинг в веб-форме выглядит так:
Ну и контроллер формы (конструктор):
|
||||
|
|||||
| fath_fast |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Но теперь проблема в другом!
Для доавления записей в таблицу этой формц я поместил в представлении следующий код:
А функция Go1 - есть следущее:
Вообщем, при нажатии кнопки <input type="button" value="+" name="" onclick="Go1()"/> генерятся дополнительные поля в таблицы готовые к заполнению... Вопрос: как это всё дело передать на сервер? Код метода onSubmit следущий:
ПРи таком раскладе, когда добавляются новые строки мне генерится исключение:
Что делать? Кто-нибудь с подобным сталкивался? |
||||||||
|
|||||||||
![]()
|
| Правила форума "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. |