Как перенаправить результат (который будет содержать некоторые данные запроса и ответа) на другую страницу 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(), и сохранит всю отправленную информацию доступной для дальнейшей проверки.