Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 使用HttpServletRequest的Primefaces mobile的导航问题_Jsf_Servlets_Primefaces - Fatal编程技术网

Jsf 使用HttpServletRequest的Primefaces mobile的导航问题

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="#

我正在primefaces移动页面(pm:page)之间执行url重定向。例如,从
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);