Как перенаправить результат (который будет содержать некоторые данные запроса и ответа) на другую страницу jsf с использованием ExternalContext?

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());
    }

1 ответ

Я предполагаю, что вы ищете способ переслать запрос (ExternalContext доступен в jsf, а не в сервлетах). Простой способ сделать это будет

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

Это не вызовет повторного запроса от браузера, как sendRedirect(), и сохранит всю отправленную информацию доступной для дальнейшей проверки.

Другие вопросы по тегам