![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Такая ситуация, есть форма на к-ой может располагаться произвольное кол-во select-ов (h:selectOneMenu). У каждого select-А должен быть свой уникальный числовой id. Как правильно средаствами JSF передать все эти значения с формы в actionListener? И соотвественно как в нём их получить?
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
fics |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 21.2.2008 Где: Луганск Репутация: нет Всего: нет |
Ceйчас может быть запинают но все же, могу подсказать как в JSP делаеться:
к примеру <select name="sel"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <select> String[] option = requestgetparameterValues("sel") --------------------
Ушел на пары |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
3,14, Value Binding ?
![]() Например через Map (т. е. в бине mybean поле допустим selvalues типа Map<String, String>), а на странице:
Это сообщение отредактировал(а) ivg - 4.3.2008, 17:41 |
|||
|
||||
3,14 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Всё равно что то не поулчилось, вот что у меня есть:
Те селекты выводятся внутри цикла, и id-ком для Map должен быть id перебираемого элемента. Те есть ряд боксов, для каждого из них будет выбираться ip-ник. Но не работает.
Map-а в bean-е не оказывается. Метод getAddressesId возвращает null. :( -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
||||
|
|||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Да, чуть не забыл:
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
ivg |
|
||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
А что не попробовали создать инстанс Map в конструкторе бина? JSF сам его не создает. Тип ключа для Map<>, должен соответствовать типу box.id, правда я не уверен что вот такая конструкция сработает
, хотя по идее должна. Надо пробовать. |
||||||
|
|||||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
ivg, имено такая конструкция и не работает. Добавлю ещё что там проблемы с использованием тэга ui:repeat, данные не передаются. Вместо этого нужно использовать c:forEach. Но вот проблема с тем что индексация не работает осталась... (
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
ivg |
|
||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
а
на
заменить не пробовали? Вроде ничего не мешает. |
||||
|
|||||
3,14 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
С dataTable всё отображается нормально, но тоже не работает, как и с forEach
![]() Добавляем на форму:
Все селекты отбражаются нормально. В обработчике:
В лог не валится никаких значений :( Впрочем и ошибок тоже... -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
||||
|
|||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
В чём проблема я кажется понял. Рзбор EL выражения для binding-а (#{configBean.test[box.id]}) происходит после нажатия на кнопку Save на форме, а не при создании формы. Поэтому ни о каких bean-ах обьявленных циклом forEach или dataTable (в данном случае box) он знать не знает :(
Но вот как решить проблему так и не понятно :( -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
ivg |
|
||||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Нашёл время попробовать ваш пример
![]() Могу сказать, что у меня первый вариант с jsfc="ui:repeat" работает так как надо. Похоже проблема у вас в чём то другом. В версиях библиотек, каких то конфиг параметрах, .... Я использовал JSF Sun RI 1.2, faselets 1.1.12, Tomcat 6, JVM 6.0, дебажил из под Eclipse 3.3 с WTP. На всякий случай запощу сюда несколько файликов: web.xml
faces-config.xml
Страница index.xhtml
com.mycompany.myapp.ConfigBean .java:
|
||||||||
|
|||||||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Подожди, что то я не совсем понял, вроде как метод save у вызывается для boxBean, а реализация написанна в configBean????
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
м-да, проблема и не в библиотеках. сделал отдельно этот же пример, работает, буду копать что не так в основном коде...
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
3,14 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
Вот теперь я совсем запутался. Вот этот кусок для select-а, нормально рабочий (привожу для дальнейших объяснений), в общем то ничего по сравнению с первым разом не изменилось:
А теперь самое интересное, при этой ф-ии для boxBean.configList всё равботает и данные передаются:
А вот для этого отображаются правильно, но не передаются:
![]() ![]() ![]() -------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
||||||
|
|||||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Ну класс для boxBean приводить не стал, там код для save() полностью ваш. Что касается последних непоняток, то попробую предположить, что в классе BoxBean перепутаны id и, допустим, config_id. Например в вызываемом конструкторе, или геттер для id возвращает значение config_id. В этом случае, в интересующей нас Map'е окажется всего одно значение, вместо нескольких. По сути, приведённые реализации метода getConfigList(), отличаются только значениями параметров конструктора BoxBean(). В первом случае, для всех элементов вектора они разные, а во втором значение config_id одно. Если мое предположение не верное, тогда покажите код класса BoxBean что ли. Интересуют конструкторы, геттеры/сеттеры, equals(), hashCode(). И вот значение configId из 6 строки второй реализации, когда изменяется и при каких условиях? Это сообщение отредактировал(а) ivg - 13.3.2008, 22:57 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |