[RESOLVIDO]Modelo MVC simples com JSP e Serlvet

2 respostas
leorbarbosa

Pessoal,

sei que há posts sobre isso, mas não achei nada ainda fácil para quem está começando.

Tenho um JSP inicial (tipo ‘index.jsp’) que é o VIEW e um servlet para processar que seria o CONTROL. É nesta passagem que estou tendo dúvidas:

@Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  {
    String pDtaIni = request.getParameter("txtDataIni");
    String pDtaFim = request.getParameter("txtDataFim");

    String sqlaux = "SELECT P.RAZAO_SOCIAL, TP.NOME, A.SALARIO, A.DESCRICAO, A.OBS, A.DT_INSERCAO, A.DT_REVISAO, .....

    setSql(sqlaux);
    response.sendRedirect("index.jsp");

É na volta para o JSP que estou dúvidas, pois quando redireciono com ‘sendRedirect’ sempre chega NULL nos parâmetros da consulta. Alguém pode ajudar?

Grato.

2 Respostas

C

Boa tarde

O problema ai é que vc esta usando o sendRedirect, por exemplo, o sendRedirect é como se você estivesse fazendo um novo request para o servidor, ou seja, você estaria simplesmente chamado a página index.jsp.

Para você utilizar os parameros enviado para a servlet dentro da jsp, você precisa utilizar o mesmo request, e para isso se utiliza o recurso de Dispatcher:

@Override  
   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  
   {  
    String pDtaIni = request.getParameter("txtDataIni");  
    String pDtaFim = request.getParameter("txtDataFim");
    String sqlaux = "SELECT P.RAZAO_SOCIAL, TP.NOME, A.SALARIO, A.DESCRICAO, A.OBS, A.DT_INSERCAO, A.DT_REVISAO, .....  
     
    request.setAttribute("sqlaux", sqlaux);	
    request.setAttribute("pDtaIni", pDtaIni);	
    request.setAttribute("pDtaFim", pDtaFim);	

    RequestDispatcher rd =  request.getRequestDispatcher("/index.jsp");
    rd.forward(request, response);

Falou

leorbarbosa

Obrigado.

Criado 27 de fevereiro de 2010
Ultima resposta 27 de fev. de 2010
Respostas 2
Participantes 2