Jsf 使用HttpServletRequest的Primefaces mobile的导航问题
我正在primefaces移动页面(pm:page)之间执行url重定向。例如,从Jsf 使用HttpServletRequest的Primefaces mobile的导航问题,jsf,servlets,primefaces,Jsf,Servlets,Primefaces,我正在primefaces移动页面(pm:page)之间执行url重定向。例如,从login.jsf到/secure/myPage.jsf,这两个页面都是pm:pages。成功验证后,应将用户重定向到myPage.jsf。登录将按如下方式触发: <pm:commandButton value="login" update="messages" actionListener="#
login.jsf
到/secure/myPage.jsf
,这两个页面都是pm:pages。成功验证后,应将用户重定向到myPage.jsf
。登录将按如下方式触发:
<pm:commandButton value="login" update="messages"
actionListener="#{loginbean.doLogin}" >
<f:param name="targetUrlParam" value="defaultTarget" />
</pm:commandButton>
不幸的是,重定向没有发生!这可能与primefaces mobile 3.0M3的生命周期有关,因为正常的JSF页面一切正常
有什么建议吗?谢谢在JSF中,这并不是发送重定向的完全正确的方式。我不知道为什么它可以在“普通”JSF中工作(在那里也应该失败!)。您基本上需要在重定向之后调用,以指示JSF不应该导航到默认结果。但是,更好的方法是使用执行重定向,因为它会隐式地执行重定向 因此,在您的情况下,替换
((HttpServletResponse) ec.getResponse()).sendRedirect(encodedURL);
借
((HttpServletResponse) ec.getResponse()).sendRedirect(encodedURL);
ec.redirect(encodedURL);