Dúvida em jstl

12 respostas
S

Moçada, estou com uma dúvida, espero que possam me ajudar:
Tenho abaixo um método que lista um objeto do tipo empresa, e gostaria de mostrar os valores em uma página jsp, de preferencia através de JSTL, vocês podem me ajudar?

É este o DAO:
public Empresa pesquisa(String nome) throws SQLException { 
ResultSet rs = getResultSet(nome); 
Empresa empresa = new Empresa(); 
if (rs.next()) { 
empresa = new Empresa(); 
empresa.setCod_empresa(rs.getLong("cod_empresa")); 
empresa.setNome(rs.getString("nome")); 
empresa.setTelefone(rs.getString("Telefone")); 
empresa.setEmail(rs.getString("Email")); 
empresa.setRamodeatividade(rs.getString("Ramodeatividade")); 
empresa.setSite(rs.getString("Site")); 
empresa.setEndereco(rs.getString("Endereco")); 
empresa.setDescricao(rs.getString("descricao")); 
} 
rs.close(); 

return empresa; 
} 
/** 
* Consulta um objeto Empresa com o parametro nome da Empresa 
* usando like para banco de dados 
* @param nome 
* @return 
* @throws SQLException 
*/ 
public List<Empresa> pesquisaEmpresas(String nome) throws SQLException { 

List<Empresa> empresas = new ArrayList<Empresa>(); 

ResultSet rs = getResultSet(nome); 
while (rs.next()) { 
empresas.add(pesquisa(nome)); 
} 

return empresas; 
} 

public ResultSet getResultSet(String nome) throws SQLException{ 

String sql = "select * from empresa where nome like '" 
+ nome + "%'"; 

PreparedStatement stmt = this.connection.prepareStatement(sql); 

ResultSet rs = stmt.executeQuery(); 

return rs;

Esta é a Servlet:

package br.com.lza.mvc; 

import java.sql.SQLException; 
import java.util.ArrayList; 
import java.util.List; 

import javax.servlet.RequestDispatcher; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import br.com.lza.jdbc.dao.EmpresaDAO; 
import br.com.lza.jdbc.modelo.Empresa; 

public class PesquisaEmpresaLogic implements BusinessLogic { 

@Override 
public void execute(HttpServletRequest request, HttpServletResponse response) 
throws Exception { 
System.out.println("Executando a lógica e redirecionando..."); 

List<Empresa> empresas = new ArrayList<Empresa>(); 
String nome = (request.getParameter("nome")); 

request.setAttribute("nome", nome); 

EmpresaDAO empresadao; 
try { 
empresadao = new EmpresaDAO(); 
empresas = empresadao.pesquisaEmpresas(nome); 
request.setAttribute("empresa", empresas); 
RequestDispatcher rd = request 
.getRequestDispatcher("visao/resultpesq.jsp"); 
rd.forward(request, response); 
} catch (SQLException e) { 
} 
} 
}

12 Respostas

luxu

Seria mais ou menos isso:

<%-- 
    Document   : index
    Created on : 26/03/2011, 17:12:32
    Author     : Administrador
--%>

<%@page import="java.util.ArrayList"%>
<%@page import="classes.Despesa"%>
<%@page import="java.util.List"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Relatório das despesas</title>
        <%
            List<Despesa> despesas = (ArrayList<Despesa>) session.getAttribute("despesaCasa");
            if(despesas == null) despesas = new ArrayList<Despesa>();
        %>
    </head>
    <body>
        <form action="index.jsp" name="formDespesas" method="post">  
            <table border="1" width="500" cellspacing="1">
                <tr>
                    <td colspan="3"><strong><div align="center">Relatório de Despesas </div></strong></td>
                </tr>
                <tr>
                    <th>Data</th>
                    <th>Descrição</th>
                    <th>Valor</th>
                </tr>
                <%for (Despesa despesa : despesas) {%>
                <tr>
                    <td><%=despesa.getData()%></td>
                    <td><%=despesa.getDescricao()%></td>
                    <td><%=despesa.getValor()%></td>
                </tr>
                <%}%>
                <tr>
                    <td colspan="3"><div align="center"><input type="submit" value="Voltar" /></div></td>
                </tr>
            </table>
        </form>
    </body>
</html>

se naum entender te mando esse projeto que fiz na faculdade ok?

S

Muito obrigado.

S

Fiz desta maneira, e não deu certo.
a página agora é apresentada, mas sem dados, detalhe, não apresenta erro!!!

Me ajuda, denovo, se não for abusar muito... rsrsrsrs
&lt;%
			List&lt;Empresa&gt; Empresas = (ArrayList&lt;Empresa&gt;) request
					.getAttribute("empresa");
			List&lt;Empresa&gt;empresas = new ArrayList&lt;Empresa&gt;();%&gt;
		&lt;%	for (Empresa empresa : empresas) { %&gt;
		&lt;%=empresa.getNome()%&gt;
		&lt;%=empresa.getEmail()%&gt;
		&lt;%=empresa.getEndereco()%&gt;
		&lt;%=empresa.getRamodeatividade()%&gt;
		&lt;%=empresa.getSite()%&gt;
		&lt;%=empresa.getDescricao()%&gt;

		&lt;%}	%&gt;
S

"

jweibe

Utilizando JSTL seria algo como.

&lt;c:forEach var="bean" items="${empresa}"&gt;
   ID: ${bean.id}
   NOME: ${bean.nome}
&lt;/c:forEach&gt;

Não esqueça de fazer o importe da taglib

S

continua o mesmo problema.

S

FUNFOU@!!!
Valeu irmão, muito obrigado.

jweibe

edite a primeira mensagem do tópico e coloque [RESOLVIDO].

S

sei, que disse que funcionou, mas, agora, aparece algo novo, está repetindo o resultado, será que errei algo na servlet ou no método de listagem?

jweibe

post sua .jsp completa

S
&lt;%@page import="br.com.lza.jdbc.dao.EmpresaDAO"%&gt;
&lt;%@page import="br.com.lza.jdbc.modelo.Empresa"%&gt;
&lt;%@page import="java.util.ArrayList"%&gt;
&lt;jsp:useBean id="dao" class="br.com.lza.jdbc.dao.EmpresaDAO" /&gt;
&lt;%@page import="java.util.List"%&gt;
&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
    "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;

&lt;html&gt;
&lt;head&gt;
&lt;link type="text/css" rel="stylesheet" href="administrativo/estilo.css" /&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;

&lt;title&gt;Luziânia OnLine - Sistema de informação Comercial&lt;/title&gt;

&lt;link type="text/css" rel="stylesheet"
	href="../administrativo/estilo.css" /&gt;
&lt;/head&gt;




&lt;div id="cabecalho"&gt;
&lt;h3&gt;Luziânia Online, a sua procura termina aqui&lt;/h3&gt;
<p>Seguem abaixo os registros</p>
&lt;/div&gt;

&lt;div id="tipopag"&gt;
&lt;h2&gt;Registros abaixo&lt;/h2&gt;
&lt;/div&gt;

&lt;body&gt;
&lt;div id="table"&gt;
&lt;table&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;h2&gt;Nome&lt;/h2&gt;
		&lt;/td&gt;
		&lt;td&gt;
		&lt;h2&gt;E-mail&lt;/h2&gt;
		&lt;/td&gt;
		&lt;td&gt;
		&lt;h2&gt;Endereço&lt;/h2&gt;
		&lt;/td&gt;
		&lt;td&gt;
		&lt;h2&gt;Telefone&lt;/h2&gt;
		&lt;/td&gt;
		&lt;td&gt;
		&lt;h2&gt;Ramo de Atividade&lt;/h2&gt;
		&lt;/td&gt;
		&lt;td&gt;
		&lt;h2&gt;Site&lt;/h2&gt;
		&lt;/td&gt;
		&lt;td&gt;
		&lt;h2&gt;Descrição&lt;/h2&gt;
	&lt;/tr&gt;

	&lt;tr&gt;
		&lt;c:forEach var="bean" items="${empresa}"&gt;
			&lt;tr&gt;

				&lt;td&gt;${bean.nome}&lt;/td&gt;
				&lt;td&gt;${bean.email}&lt;/td&gt;
				&lt;td&gt;${bean.endereco}&lt;/td&gt;
				&lt;td&gt;${bean.telefone}&lt;/td&gt;
				&lt;td&gt;${bean.ramodeatividade}&lt;/td&gt;
				&lt;td&gt;${bean.site}&lt;/td&gt;
				&lt;td&gt;${bean.descricao}&lt;/td&gt;
		&lt;/c:forEach&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;input type='button'
			onClick="location.href='visao/index.jsp'" name="voltar"
			value="Voltar"&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id="rodape"&gt;
<p>Todos os direitos reservados</p>
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
S

Acredita que posso ter errado algum import?

Criado 30 de julho de 2011
Ultima resposta 31 de jul. de 2011
Respostas 12
Participantes 3