Портлет Liferay и JSF: Перенаправление на этапе рендеринга

У меня проблема с реализацией простого перенаправления HTTP.

Я использую Liferay 6.0.6, наши портлеты ] построены с помощью JSF2.0 / PortletFaces .

Я хочу вызывать перенаправление при загрузке представления (а не при запуске действия В настоящее время моя функция вызывается прослушивателем PreRenderView.


  

В этой функции я могу проверять разрешения, делать другие вещи и в некоторых случаях я хочу перенаправить пользователя на новую страницу (а не на другое представление).

Я пробовал несколько методов, но безуспешно. В частности, я думал, что этот метод сработает:

getFacesContext().getExternalContext().redirect(url);
getFacesContext().responseComplete()
// => Can only redirect during ACTION_PHASE

Эта ошибка логична, но есть ли решение для принудительного перенаправления.

Это может быть реализовано в другой функции, вызываемой иначе, я только требуется сеанс гибернации (устанавливается в начале фазы рендеринга)

Есть ли у вас идеи для решения этой проблемы?
Спасибо!

ps: или ? Faces-redirect не работают с портлетами.

5
задан Julien Lafont 29 July 2011 в 23:31
поделиться