Java X JSP via SERVLET

1 resposta
R

Estou desenvolvendo o meu Projeto de finalização de Curso, criei uma JSP uma SERVELT e uma CLASSE, mais para conseguir mostrar o resultado de um metodo da CLASSE na JP usei o setatribute, o Prof não aceitou. Será que alguem pode me ajudar segue os codigos;

CLASSE
public void getLista(HttpServletRequest request) throws SQLException, ClassNotFoundException{
           String sql;

        // recupera uma conexao com o banco de dados.
        Connection conexao = Util.getConexao();

        sql = "select * from \"Funcionarios\" where \"Status\"='1' order by \"Nome\"";

        Statement stmt = conexao.createStatement();
        ResultSet rs = stmt.executeQuery(sql);

        String Lista = "";
        while (rs.next()) {
                  Lista = Lista + "<tr>";
                    Lista = Lista + "&lt;td align='left' class='tTxt1'&gt;<li>"+rs.getString("Nome")+" ("+rs.getString("CPF")+")</li>&lt;/td&gt;";
                    Lista = Lista + "&lt;td width='45%' align='right'&gt;&lt;table width='100%' border='0' cellspacing='0' cellpadding='0'&gt;";
                      Lista = Lista + "&lt;tr&gt;";
                        Lista = Lista + "&lt;td align='center' valign='middle'&gt;&lt;/span&gt;<a  ><img    /></a>&lt;/td&gt;";
                        Lista = Lista + "&lt;td align='center' valign='middle'&gt;&lt;span class='tTxt1Negrito'&gt;&nbsp; | &nbsp;&lt;/span&gt;&lt;/td&gt;";
                        Lista = Lista + "&lt;td align='center' valign='middle'&gt;<a  ><img    /></a>&lt;/td&gt;";
                      Lista = Lista + "&lt;/tr&gt;";
                    Lista = Lista + "&lt;/table&gt;";
                    Lista = Lista + "&lt;/td&gt;";
                  Lista = Lista + "&lt;/tr&gt;";
        }
        rs.close();
        conexao.close();
        //return Lista;
        request.setAttribute("ConteudoLista",Lista);
    }
SERVLET
package TCC.controle;

import TCC.negocio.Funcionario;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ListaFuncionario extends HttpServlet {

    public void listarFuncionario(HttpServletRequest rq) throws ServletException, Exception
	{
		Funcionario funcionario = new Funcionario();

        funcionario.getLista(rq);
}

    /** Processes requests for both HTTP &lt;code&gt;GET&lt;/code&gt; and &lt;code&gt;POST&lt;/code&gt; methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try{
            this.listarFuncionario(request);
            getServletConfig().getServletContext().getRequestDispatcher("/FuncionarioLista.jsp").forward(request, response);
	}catch (Exception e)
	{
            e.printStackTrace();
            System.out.println("ERO"+e.getMessage());
            request.setAttribute("erro",e.getMessage());
            getServletConfig().getServletContext().getRequestDispatcher("/Erro.jsp").forward(request, response);
	}
    }

    // &lt;editor-fold defaultstate="collapsed" desc="Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código."&gt;
    /**
     * Handles the HTTP &lt;code&gt;GET&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP &lt;code&gt;POST&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// &lt;/editor-fold&gt;

}
JSP
&lt;%@ page contentType="text/html" pageEncoding="UTF-8" import="TCC.negocio.*" %&gt;
&lt;%@ include file="VerifLoginAdminFunc.jsp" %&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;
&lt;title&gt; SGH  |  Funcionarios &gt; Lista ...........................................................................................................&lt;/title&gt;
&lt;link href="Css.css" rel="stylesheet" type="text/css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;table width="100%" height="600" border="0" align="center" cellpadding="0" cellspacing="0"&gt;
  &lt;tr&gt;
    &lt;td valign="top"&gt;&lt;table width="100%" height="600" border="0" cellspacing="0" cellpadding="0"&gt;
      &lt;tr&gt;
        &lt;td height="70" colspan="3"&gt;&lt;%@ include file="Topo.jsp" %&gt;&lt;/td&gt;
        &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="200" valign="top"&gt;&lt;%@ include file="Menu.jsp" %&gt;&lt;/td&gt;
        &lt;td colspan="2" valign="top" bgcolor="#FFFFFF" width="100%"&gt;

        &lt;table width="100%" border="0" align="center" cellpadding="1" cellspacing="5"&gt;
            &lt;tr&gt;
              &lt;td height="30" align="left"&gt;
              &lt;table width="98%" height="30" border="0" align="center" cellpadding="0" cellspacing="0"&gt;
                  &lt;tr&gt;
                    &lt;td height="24" valign="middle" background="Imagens/BG_subtitulo.gif" class="tTxt3Negrito"&gt;Funcionarios &nbsp;&gt;&nbsp; Lista&lt;/td&gt;
                  &lt;/tr&gt;
                &lt;/table&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td align="center" valign="top"&gt;&lt;table width="100%" border="0" cellspacing="5" cellpadding="1"&gt;

&lt;!-- Lista Conteúdo - Pacientes --&gt;
${ConteudoLista}

              &lt;/table&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td height="20" align="center"&gt;&nbsp;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td align="center"&gt;<a  >voltar</a>&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td align="center"&gt;&nbsp;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/table&gt;


        &lt;/td&gt;
        &lt;/tr&gt;
      	&lt;tr&gt;
            &lt;td height="25" colspan="3"&gt;&lt;%@ include file="Rodape.jsp" %&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/table&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;

GOSTARIA QUE FOSSE JSP-->SERVLET-->CLASSE-->SERVLET-->JSP.

OBRIGADO

1 Resposta

A

Então, o que o seu professor quer é que ao invés de você montar o conteúdo html dentro do seu servlet, você coloque a lista de dados retornados da query em uma variável de request e monte a tabela de forma dinâmica, iterando os itens da lista, formatando as colunas, etc.
Meu amigo, você vai ter que aprender um ponco mais de programação com tags jsp. O comum é começar aprendendo o JSTL.

Criado 31 de outubro de 2009
Ultima resposta 31 de out. de 2009
Respostas 1
Participantes 2