Фон: у меня есть приложение JSF 2.0 с использованием MyFaces. Используя это приложение, пользователи создадут сложный "Виджет", пройдя через несколько разных страниц JSF. Я храню управляемый bean в области сеанса, и свойства заполняются, когда пользователь просматривает каждую страницу. После того, как они будут собраны "виджет", они захотят создать новый "виджет" и повторить этот процесс. Мой вопрос: как полностью (и безопасно) удалить управляемый bean из сеанса без нарушения жизненного цикла JSF?
Я видел другие ответы на подобные вопросы, предлагая вам аннулировать сеанс, а также вы можете получить доступ к HttpSession через FacesContext и удалить bean таким образом. Я не хочу, чтобы пользователь должен был выйти из системы или снова, и я не хочу отменять весь сеанс. Предполагая, что мне нужно пройти через FacesContext, чтобы получить доступ к HttpSession и удалить bean, когда в JSF lifecyle является наиболее подходящим местом, чтобы сделать это безопасно, чтобы проблемы не каскадировались через оставшуюся часть цикла? Я хочу убедиться, что у JSF не возникнет проблем с созданием нового сеанса bean, когда пользователь начнет процесс создания следующего "виджета".
Мне также интересно узнать, почему в JSF нет механизма, чтобы сделать это проще. Есть ли какой-то другой подход, который я должен принимать, который лучше соответствует намеченному шаблону JSF? Я не могу использовать View Scope здесь, потому что управляемый bean будет проходить через несколько разных страниц и представлений до его завершения.
Спасибо в Advance!