Servlets 如何使用ExternalContext将结果(其中包含一些请求和响应数据)重定向到另一个jsf页面?

Servlets 如何使用ExternalContext将结果(其中包含一些请求和响应数据)重定向到另一个jsf页面?,servlets,jsf-2,externalcontext,Servlets,Jsf 2,Externalcontext,我假设您正在寻找转发请求的方法(ExternalContext在jsf中可用,而不是servlet)。一个简单的方法是 public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.debug("Entering in DirectPayPaymentResponseHand

我假设您正在寻找转发请求的方法(ExternalContext在jsf中可用,而不是servlet)。一个简单的方法是

public void handleRequest(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    logger.debug("Entering in DirectPayPaymentResponseHandler handleRequest() method");
    logger.debug("responseParameter="
            + request.getParameter("responseParameter"));
    logger.debug("responseparams=" + request.getParameter("responseparams"));
    String respParams = request.getParameter("responseparams");

    try{
      boolean flag=processRequest(respParams);
      if(flag){
        //response.sendRedirect("http://localhost:8080/customer/Success.xhtml");            
      } else {
        //response.sendRedirect("http://localhost:8080/customer/Failure.xhtml");        
      }
    } catch(Exception e){
        logger.fatal("Error:- "+ e.getMessage());
    }
这不会导致像sendRedirect()那样从浏览器发出第二个请求,并保持发送的所有信息可供进一步检查

RequestDispatcher rd = request.getRequestDispatcher("/path/filename.xhtml");
rd.forward(request,response);