| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JSF |
| Автор: offmagic 11.7.2010, 18:21 | ||||||
Здравствуйте, помогите разобраться. Изучаю JSF. Есть форма. Есть Бин в который сохряняется всё из формы. Есть ещё один бин который хранит список всех сохранёных объектов.
#{person_save} - соответственно бин который хранит только что введённую информацию #{listOfPerson} бин который хранит все сохраннёые объекты. Код класса вот такой:
Проблема в том что каждый раз в коллекции listOfPerson все элементы перезаписываются на тот бин который сохраняем тоесть получаем список из n-одинаковых элементов, хотя я только добавляю один элемент в конец - listOfPerson.add(p);
|
| Автор: powerOn 11.7.2010, 21:25 |
| Модератор: Название темы должно отражать ее суть! |
| Автор: SlavaSemushin 12.7.2010, 10:24 |
| А разве в качестве значения actionListener не должен выступать класс, который реализцет одноимённый интерфейс с методом processAction()? Вот здесь есть пример: http://www.javabeat.net/tips/67-how-to-implement-actionlistener-factionlist.html Если я правильно понял то, чего вы хотите, то я бы действовал иначе: - сделал бы person_save request scope - за'inject'ил бы в него listOfPerson - все поля формы "прикрепил" бы к классу person_save - в action подставил бы вызов метода, который бы вызывал метод из класса listOfPerson для добавления новой персоны и после этого возвращал строку для outcome |
| Автор: offmagic 12.7.2010, 11:02 |
| Спасибо. Проблема решена. В ArrayList мы добавляем ссылку на бин. После изменения бина, соответсвенно все элементы которые уже в коллекции буду указать на новый бин. |