在做管理系统时就觉着jsf中的webapp间的页面跳转就只有一个jsp页面做中转而实现么?
这次在资源系统中又遇到了:
admin-tool登录后跳转到首页catalog-tool,不想再用jsp做中转,想移植到back bean里,jsf中已经将HttpServletResponse和HttpServletRequest内置到了FacesContext中。所以ip地址比较好获得:
下面就到了跳转的关键部分:
直接使用response.sendRedirect(url);失败。。。求助google,看到一堆英文,目眩,首页结果中的中文资料还是有有用的:Response的sendRedirect实现JSF内的URL重定向
虽然有跳转动作,但没有页面显示,url没变,页面为空。想了想,估计人家的意思是不能在jsf用sendRedirect的方法实现重定向。
这中间还遇到个问题,就是报出java.lang.IllegalStateException: FacesContext already released。google之,找到个解释:不要轻易将FacesContext设为全局变量 。
继续google之,发现还是要英文帖子才能解决问题:jsf back bean中的重定向要用response.redirect()
补充:关于jsp中的页面跳转有很多,给出总结帖 ,但是有个疑问,用js做页面跳转安全么?如果浏览器中的js禁用了不就使跳转失效了?