如何从旧版Servlet到JSF 2.0进行服务器端重定向?

时间:2012-05-08 13:05:19

标签: servlets jsf-2

我目前正在进行客户端重定向,以便从遗留servlet(应用程序的旧部分)到JSF页面(应用程序的新部分)。如果可能的话,我宁愿做一个服务器端重定向,这样我就可以在JSF页面可以提取的请求中放置项目。 (有一组数据需要在遗留servlet和JSF页面之间“切换”,我不希望将它们放在客户端重定向URL(作为URL参数)中,而是在服务器上执行此操作 - 侧)。

如果有办法在servlet(不是Faces servlet)和JSF页面之间进行服务器端重定向,你能告诉我怎么样吗?

1 个答案:

答案 0 :(得分:2)

只需按常规方式拨打RequestDispatcher#forward()即可。所有servlet也会拦截转发的请求。您只需确保前向路径与FacesServlet映射匹配。假设您已将其映射到*.xhtml,则应执行以下操作:

request.getRequestDispatcher("/page.xhtml").forward(request, response);

如果您想阻止最终用户直接打开它而不先调用servlet,可以根据需要将页面放在/WEB-INF文件夹中。

request.getRequestDispatcher("/WEB-INF/page.xhtml").forward(request, response);