В настоящее время я переношу старый проект из JSF 1 (с RichFaces 3) в JSF 2 (с RichFaces 4). Проект имеет несколько богатых: dataTables с флажками рядом с элементами. В нижней части страницы есть несколько кнопок действий для чего-то со всеми выбранными элементами (добавить в избранное, экспортировать как PDF, ...).Как использовать rich: dataTable с выбором строки без привязки
Эти флажки являются причиной того, почему богатые: dataTables имеют привязку к соответствующим компонентам пользовательского интерфейса. Но большинство компонентов пользовательского интерфейса ограничены сеансом. Между тем, я узнал, что привязка в сочетании с областью сеанса - не очень хорошая идея. И действительно, у меня много ошибок «повторного идентификатора», которые исчезают, если я изменю область действия на «запрос». Но это не так просто. Эти beens имеют некоторое состояние, которое должно быть сохранено между запросами и разработанной логикой инициализации состояния и очистки.
Я думаю, что у меня есть два варианта:
изменение бобы в запрос-сфере, сделать какой-то массивный рефакторинг путем извлечения состояния в некотором новый «stateObjects», чтобы сохранить в новом «SessionBean», и полностью переписать логику состояния
удалить привязки, но как определить, какие записи богатых: dataTable имеют свои флажки?
Curiosly, сессия-сфера и привязки вместе работали очень хорошо с JSF 1. И решение для изготовления Сеансных-контекстного было сделано много времени, прежде чем я взял на себя проект.