Всем привет!
Необходимо создать страницу как на этом макете.
Описание:
1- выпадающее меню со списком операций;
2 - какой-то список, сейчас не важно;
3 - чекбоксы, с помощью которых будем помечать нужные элементы из списка 2
Всё вроде как просто, но я периодически туплю и это именно этот случай)
Как, в JSF (icefaces), лучше хранить выбранные элементы, чтобы потом их легко получить и произвести операцию, которую пользователь выбрал из списка 1?
В обычных там JSP мы, к примеру, все чекбоксы и кнопку помещаем в форму и передаём выбранные айдишники, или как-то так, суть в том что выбранные вещи передавались в запросе.
Но в JSF можно сделать проще: создать бин с аннотацией @Named, в нём поле хранящее выбранные элементы, когда кликаем по чекбоксу аяксом дёргается метод этого бина и удаляет/добавляет элементы в контейнер. Затем мы кликаем по выпадающему списку выбираем операцию, кликаем и другой аякс запрос дёргает другой метод этого бина, в котором мы смотрим какую операцию выбрали, получаем выбранные элементы и как-то их обрабатываем с учётом выбранной операции.
Всё хорошо, только так не работает, так как когда мы выбираем операции из списка, и отправляем запрос, то контейнер хранящий выбранные элементы уже пуст, т.к. он только что проинициализировался потому что он бин с аннотацией @RequesScope и это правильно. Выкрутился, тем, что создал новый бин, который хранит выбранные элементы и всё нормально хранит, но он @SessionScope - что и не нравится. Если открыть нужную страницу в разных окнах и по выбирать разные элементы, а затем произвести операцию над ними - получим кашу.
Как правильно реализовать?