我目前正在执行客户端重定向,以从遗留 servlet(应用程序的旧部分)到 JSF 页面(应用程序的新部分)。如果可能的话,我更愿意进行服务器端重定向,以便我可以将项目放入 JSF 页面可以拾取的请求中。 (有一组数据需要在遗留 servlet 和 JSF 页面之间“传递”,我不喜欢将这些数据放在客户端重定向 URL 中(作为 URL 参数),而是在服务器上执行此操作 -边)。
如果有办法在 servlet(不是 Faces servlet)和 JSF 页面之间进行服务器端重定向,您能告诉我如何做吗?
只需致电RequestDispatcher#forward() http://docs.oracle.com/javaee/6/api/javax/servlet/RequestDispatcher.html#forward%28javax.servlet.ServletRequest,%20javax.servlet.ServletResponse%29通常的方式。所有 servlet 也会拦截转发的请求。您只需要确保前向路径与FacesServlet
映射。假设您已将其映射到*.xhtml
,这应该做:
request.getRequestDispatcher("/page.xhtml").forward(request, response);
如果需要,该页面可以放置在/WEB-INF
如果您希望阻止最终用户在不先调用 servlet 的情况下直接打开该文件夹。
request.getRequestDispatcher("/WEB-INF/page.xhtml").forward(request, response);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)