Liferay Portlet y JSF: redireccionamiento durante la fase de renderizado
Tengo un problema para implementar una redirección HTTP simple.
Uso Liferay 6.0.6, nuestro portlets se construyen con JSF2.0 / PortletFaces.
Quiero llamar a una redireccióncuando se carga una vista (y no cuando se activa una acción). Actualmente, mi función es llamada por el oyente PreRenderView.
<f:metadata>
<f:event listener="#{myControler.dispatch}" type="preRenderView" />
</f:metadata>
En esta función, puedo verificar los permisos, hacer otras cosas y, en algunos casos, quiero redirigir al usuario a una nueva página (no a otra vista).
Intenté varios métodos, sin éxito. Específicamente, pensé que este método funcionaría:
getFacesContext().getExternalContext().redirect(url);
getFacesContext().responseComplete()
// => Can only redirect during ACTION_PHASE
Este error es lógico, pero ¿hay una solución parafuerz la redirección.
e podría realizar en otra función, llamada de otra manera, solo necesito la Sesión Hibernate (establecida al comienzo de la Fase de Render)
¿Tienes ideas para resolver este problema?
¡Gracias
ps:<redirect />
o?faces-redirect
no funciona con los portlets.