Estou tentando implementar um sistema onde possui duas tabelas cliente e serviço, estou tentando fazer um pesquisa através do id_cliente na tabela serviço, já testei meu dão e esta retornando perfeitamente a lista de serviços, mais ao tentar exibir na pagina JSP recebo a mensagem nenhum registro encontrado, segue o código abaixo:
**código JSP:**
<%--
Document : form_conresultadoServico
Created on : 26/02/2014, 20:14
Author : João Manuel
--%>
<%@page language="java" contentType="text/html" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<logic:notPresent scope="session" name="USER">
<logic:redirect forward="index"/>
</logic:notPresent>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<link href="layout/css/geral.css" rel="stylesheet" type="text/css" />
<link href="layout/css/especificos.css" rel="stylesheet" type="text/css" />
<script language='JavaScript' type='text/javascript'>
function AtualizarServicos() {
if( confirm( 'Deseja atualizar o serviço?' ) ) {
return true;
} else {
return false;
}
}
function detalharServicos() {
if( confirm( 'Deseja detalhar esse serviço?' ) ) {
return true;
} else {
return false;
}
}
function confirmExcluir() {
if( confirm( 'Deseja realmente excluir este Serviço?' ) ) {
return true;
} else {
return false;
}
}
</script>
</head>
<div class="voxItemMenu">
<div class="voxLinkButtonSeparator"></div>
<a class="voxLinkButton" href="./Menu.do">
<img src="layout/images/icones/bt_voltar.png" alt="Voltar" name="voltar" title="Voltar" align="middle">
<span>Voltar</span>
</a>
</div>
<div id="principal">
<h3>Lista de Serviços<small>Serviços</small></h3>
<div class="both"> </div>
<center>
<display:table id="servico" name="${listaservicos}" class="adminTable" pagesize="10" requestURI="ServicosDoCliente.do">
<display:column property="cliente.nome_cliente" titleKey="generico.nome"/>
<display:column property="valor_total" titleKey="generico.valor_total"/>
<display:column property="dtservicos" titleKey="generico.dtservicos" decorator="br.com.InfortecTdf.Date.DateDecorator"/>
<display:column titleKey="generico.detalhe"><html:link action="/detalharServico.do" styleClass="voxLinkButtonMini" paramName="servico"
paramProperty="id_servico" paramId="id_servico">
<html:img src="imagens/folha1.png" width="16" height="16" onclick="return detalharServicos(this, 'Deseja detalhar esse serviço?')" alt="Detalhar" title="Detalhar Serviços" border="0"/></html:link></display:column>
<display:column titleKey="generico.alterar"><html:link action="/alterarServico.do" styleClass="voxLinkButtonMini" paramName="servico"
paramProperty="id_servico" paramId="id_servico">
<html:img src="imagens/atualizar.gif" width="16" height="16" onclick="return AtualizarServicos(this, 'Deseja atualizar o serviço?')" alt="Alterar" title="Alterar Serviços" border="0"/></html:link></display:column>
<display:column titleKey="generico.excluir"><html:link action="/excluirServico.do" styleClass="voxLinkButtonMini" paramName="servico"
paramProperty="id_servico" paramId="id_servico">
<html:img src="imagens/lixo.png" width="16" height="16" onclick="return confirmExcluir(this, 'Deseja realmente excluir este serviço?')" alt="Excluir" title="Excluir Serviço" border="0"/></html:link></display:column>
</display:table>
</center>
</div>
**Código Action:**
public class ConsultaServicoClienteAction extends DispatchAction {
@Override
public ActionForward execute( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response )
throws Exception {
int id_cliente1 = Integer.parseInt( request.getParameter( "id_cliente" ) );
HttpSession session = request.getSession();
ActionMessages msg = new ActionMessages();
DAOFactory factory = BaseDAOFactory.getFactory();
ServicosDAO dao = factory.getServicosDAOImpl();
List< Servicos > listaservicos = dao.procurarServicos( id_cliente1 );
session.setAttribute( "servico", listaservicos );
return mapping.findForward( FORWARD_LISTA );
}
}
**Mapeamento Struts:**
<action path="/ServicosDoCliente" type="br.com.InfortecTfd.Action.Servicos.ConsultaServicoClienteAction" scope="session" name="servicosForm">
<forward name="lista" path=".servicosdocliente" />
</action>
**Mapeamento Tiles:**
<definition name=".servicosdocliente" extends=".principal">
<put name="conteudo" value="/servicos/form_conresultadoServico.jsp" />
</definition>
**Dão Implemente:**
public List procurarServicos( Integer id ) throws Exception {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
try {
conn = ConnectionFactory.getConnection();
ps = conn.prepareStatement(SQL_SERVICOS_ID);
ps.setInt(1, id);
rs = ps.executeQuery();
List< Servicos > list = new ArrayList< Servicos >();
while ( rs.next() ) {
Cliente cli = new Cliente();
cli.setNome_cliente( rs.getString( "c.nome_cliente" ) );
Servicos ser = new Servicos();
ser.setCliente( cli );
ser.setId_servicos( rs.getInt( "s.id_servicos" ) );
ser.setCod_cliente(rs.getInt( "s.cod_cliente" ) );
ser.setServico1( rs.getString( "s.servico1" ) );
ser.setServico2( rs.getString( "s.servico2" ) );
ser.setServico3( rs.getString( "s.servico3" ) );
ser.setServico4( rs.getString( "s.servico4" ) );
ser.setServico5( rs.getString( "s.servico5" ) );
ser.setValor1( rs.getString( "s.valor1" ) );
ser.setValor2( rs.getString( "s.valor2" ) );
ser.setValor3( rs.getString( "s.valor3" ) );
ser.setValor4( rs.getString( "s.valor4" ) );
ser.setValor5( rs.getString( "s.valor5" ) );
ser.setValor_total( rs.getString( "s.valor_total" ) );
ser.setObservacao( rs.getString( "s.observacao" ) );
ser.setDtservicos(rs.getDate( "s.dtservicos" ) );
list.add( ser );
}
return list;
} catch ( SQLException sqle ) {
throw new Exception( sqle );
} finally {
ConnectionFactory.closeConnection( conn, ps, rs );
}
}
Query:
static public String SQL_SERVICOS_ID =“SELECT c.nome_cliente,s.id_servicos,s.cod_cliente,s.servico1,s.servico2,s.servico3,s.servico4,s.servico5,s.valor1,s.valor2,s.valor3,s.valor4,s.valor5,s.valor_total,s.observacao,s.dtservicos FROM cliente c, servicos s WHERE c.id_cliente = s.cod_cliente AND s.cod_cliente=?”;
Alguem poderia achar onde estou errando?, desde já agradecido.