У меня есть служба, доступ к которой осуществляется сервлетом, который перенаправляет пользователя на экран входа в систему. Область бэкапинга в настоящее время изменена с @ConversationScoped на @FlowScoped, поскольку ее легче обрабатывать.Можно ли запустить поток лиц изнутри сервлета?
Есть ли способ инициализировать поток граней непосредственно изнутри сервлета, без косвенности посредством неявного действия или прямого или переадресации JSF?
Я знаю, что @FlowScope является областью JSF (2.2), и мне было интересно, может ли быть способ, например, расширьте FacesServlet или что-то подобное.
Как обходной путь, в настоящее время я просто добавил представление с помощью кнопки, что делает JSF вперед, чтобы войти в каталог потока, но я стараюсь избегать этого.
Update
Я попробовал много подходов к «автоматически» вперед в потоке, без необходимости нажимать на любую кнопку, но я всегда получаю No active contexts for scope type javax.faces.flow.FlowScoped
. Вот мои подходы:
f:viewAction
<f:metadata> <f:viewAction action="myFlow" /> </f:metadata>
Это один, кажется, выполняется слишком рано (в любом случае).
f:event
<f:event type="preRenderView" listener="#{myBean.forwardToMyFlow()}" />
Метод в компоненте возвращает тот же результат, как и в
f:viewAction
.навигации случай
<navigation-rule> <from-view-id>/myView.xhtml</from-view-id> <navigation-case> <from-outcome>myFlow</from-outcome> <to-view-id>/myFlow/myFlow.xhtml</to-view-id> <redirect /> <to-flow-document-id /> </navigation-case> </navigation-rule>
Что мне не хватает?
Ничего страшного в том, что перед контроллером есть поток, хотя, если я правильно читаю спецификацию, вы должны иметь возможность напрямую ссылаться на первый вид потока; спецификация говорит, что необходимые '@ FlowScoped' beans должны быть инициализированы при входе в первый узел в потоке – kolossus
@kolossus Спасибо за ваш ответ и извините за задержку, я давно не работал. Я нашел ссылку в спецификации, вы упомянули, но я все еще не мог заставить ее работать. Я всегда получаю «ContextNotActiveException» ... – NanSil