Я не могу внедрить bean-компонент ConversationScoped в bean-компонент ViewScoped, потому что bean-компонент ConversationScoped может быть короче, чем компонент ViewScoped, или наоборот, в зависимости от того, является ли бин ConversationScoped долгоживущим.1002 * Чтобы обойти это ограничение, я попытался использовать событие f: для выполнения внедрения в качестве прослушивателя preRenderView:
<f:metadata>
<f:event type="preRenderView" listener="#{taskController.initializeTask(workPackageConversation.workPackage)}" />
</f:metadata>
Этот принцип не работает, ни прослушиватель initializeTask, ни метод getWorkPackage получателя не работаютПозвонил.
Я понимаю, что могу искать один управляемый компонент из другого, используя FacesContext, но мне любопытно, почему это не работает.Это потому, что слушатель f: не вызывается при переходе к представлению из другого представления?то есть.без перенаправления или прямого просмотра страницы?
Я также пробовал тег s: viewAction из Seam 3 Faces, но безрезультатно.Он также не вызывается.
Заранее спасибо.