Liferay Portlet e JSF: Redirecionar durante a fase de renderização
Eu tenho um problema para implementar um redirecionamento HTTP simple
Eu uso o Liferay 6.0.6, nosso portlets são construídos com JSF2.0 / PortletFaces.
Eu quero chamar um redirecionamentoquando uma vista é carregada (e não quando uma ação é acionada). Atualmente, minha função é chamada pelo ouvinte do PreRenderView.
<f:metadata>
<f:event listener="#{myControler.dispatch}" type="preRenderView" />
</f:metadata>
Nesta função, posso verificar as permissões, fazer outras coisas e, em alguns casos, desejo redirecionar o usuário para uma nova página (não para outra exibição
Tentei vários métodos, sem êxito. Especificamente, pensei que esse método funcionaria:
getFacesContext().getExternalContext().redirect(url);
getFacesContext().responseComplete()
// => Can only redirect during ACTION_PHASE
Este erro é lógico, mas existe uma solução paraforç o redirecionamento.
Pode ser realizado em outra função, chamada de outra forma, só preciso da Sessão do Hibernate (definida no início da Fase Render)
ocê tem idéias para resolver este problem
Obrigado
ps:<redirect />
ou?faces-redirect
não funciona com os portlet