Я начинаю использовать JSF Flows, и после прочтения некоторых примеров и спецификаций я получил его для работы.Выход из потока JSF
Я использую Упаковочные потоки в справочниках, как описано в разделе 11.4.3.3 документа specification. Это кажется более простым и более согласованным с соглашениями об именах, уже принятыми с JSF 2.0.
Bellow - это моя текущая структура каталогов. Идентификатор потока - wizard.
Я понимаю, что есть понятие выхода из потока путем вызова обратный узел.
Вы видите, на фотографии выше, что у меня нет вид узла возврата. Это просто волшебник с кучей страниц, которые можно перемещать вперед и назад, с тем преимуществом, что мое состояние ManagedBean поддерживается.
Проблема в том, что я могу перейти на любую страницу в своем приложении, и JSF все еще сохраняет состояние этого потока. Если я вернусь на любую страницу Wizard, вся информация все еще там, что означает, что JSF никогда не удаляла область потока.
Мои вопросы:
- Если у меня есть «закончить» CommandButton, как я могу сказать, что JSF, когда пользователь нажимает на эту кнопку, он должен упасть текущий объем потока?
- Что еще более важно, Что делать, если у меня нет возвратного узла? Как сообщить JSF о прекращении состояния потока, если пользователь переходит к любому виду * вне каталога потока? (По концепции «потока», я подумал, что это уже стандартное поведение)
* Просто чтобы быть ясно, я имею в виду другой вид JSF (другую страницу внутри моего приложения). Я знаю, что он ничего не может сделать, если пользователь запускает запрос на страницу вне моего приложения или вне области JSF.
В первый вопрос вы ответили, я имел в виду, что я хочу JSF уронить состояние потока, когда пользователь переходит к другому _view_, и я имею в виду представление, которое находится в пределах JSF рамки, то есть который будет обслуживаться сервлетом Faces, а не какой-либо URL-адрес вне моего приложения (например, ваш пример). JSF действительно знает, какой взгляд запрашивает пользователь, и откуда он/она приходит, поэтому я думаю, что есть еще способ сделать это (может быть, программно? С помощью Phase Listener? Idk, это мой вопрос). Обновил мой вопрос. – RinaldoPJr
Что касается второго вопроса, на который вы ответили, то это было, спасибо. – RinaldoPJr