Olá pessoal,
Queria saber se alguém poderia me ajudar com este problema. Estou desenvolvendo uma página de consulta e o resultado eu faço a paginação.
Só que quando eu vou para a próxima página da consulta ele perde as informações. Neste caso eu estou ultilizando a chamada pela struts
Aqui está o código:
primeiro eu chamo esta classe action(struts) ConsultaAction:
public class ConsulPesquisadorAction extends DispatchAction {
String query="";
PreparedStatement st=null;
public ActionForward pesquisar(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
ConsulPesquisadorActionForm f = (ConsulPesquisadorActionForm) form;
Conexao con = new Conexao();
Connection c = con.abrirConexao();
BDPesquisador p = new BDPesquisador();
List lista = (List) p.getBuscaConsulta(c,f.getTxtnome().trim(),f.getTxtrg().trim());
if(lista.size() > 0){
request.setAttribute("pesquisadores", lista);
return mapping.findForward("encontrado");
}else {
return mapping.findForward("erro_psq");
}
}
}
Depois esta class DBPesquisador :
public List getBuscaConsulta(Connection c,String nome_pesquisador,String rg){
List lista = new ArrayList();
try{
if(nome_pesquisador.equals("") || rg.equals("")){
query="Select * From pesquisador";
}else if(nome_pesquisador!="" && rg!=""){
query="Select * From pesquisador Where nome_pesquisador like '%" + nome_pesquisador + "%'" +
"and rg like '%" + rg + "%'";
}
Statement st = c.createStatement();
ResultSet rs = st.executeQuery(query);
while(rs.next()){
Pesquisador p = new Pesquisador();
p.setIdpesquisador(rs.getLong(1));
p.setNome(rs.getString(2));
p.setEmail(rs.getString(3));
p.setInstituicao(rs.getString(4));
p.setRg(rs.getString(5));
p.setEndereco(rs.getString(6));
p.setBairro(rs.getString(7));
p.setCidade(rs.getString(8));
p.setUf(rs.getString(9));
p.setCep(rs.getString(10));
p.setTelefone(rs.getString(11));
p.setArea_unid(rs.getString(12));
p.setEndereco_inst(rs.getString(13));
lista.add(p);
}
}catch(Exception e) {
e.printStackTrace();
}
return lista;
}
resultado_pesquisa.jsp :
<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@ taglib uri=“http://jsptags.com/tags/navigation/pager” prefix=“pg” %>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@ page import=“classes.Pesquisador” %>
<%@ page import=“java.util.*” %>
<!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>Projeto Pesquisador</title>
<!-- insere arquivos css e javascript -->
<link rel=“stylesheet” type=“text/css” href=“configuracao.css” >
<script language=“JavaScript1.2” src="./funcoes.js"></script>
</head>
<body>
<!-- insere arquivo referente ao cabeçalho da página -->
<jsp:include page=“cabecalho.jsp” />
<pg:pager id=“p” maxPageItems=“1” maxIndexPages=“10” export=“offset,currentPageNumber=pageNumber” scope=“request” >
<table width=“100%” border=“1” class=‘properties’>
<tr>
<th width=“28%” height=“18”><strong>Id</strong></th>
<th width=“12%”><strong>Nome</strong></th>
<th width=“12%”><strong>E-Mail</strong></th>
</tr>
<c:forEach items="${requestScope.pesquisadores}" var="pesquisadores">
<pg:item>
<tr>
<td ><c:out value="${pesquisadores.idpesquisador}"/></td>
<td ><c:out value="${pesquisadores.nome}"/></td>
<td ><c:out value="${pesquisadores.email}"/></td>
</tr>
</pg:item>
</c:forEach>
</table>
<pg:index>
<pg:first><a >[Primeira]</a></pg:first>
<pg:prev><a >[Anterior]</a></pg:prev> <pg:pages><a ></a></pg:pages>
<pg:pages><a ><c:out value="${pageNumber}"/></a></pg:pages>
<pg:next><a >[Proxima(<c:out value="${pageNumber}"/>)]</a></pg:next>
<pg:last><a >[Ultima]</a></pg:last> <a ><strong>Fechar</strong></a>
</pg:index>
</pg:pager>
</body>
</html>
Eu faço tudo isto na primeira vez e quando vou para próxima página ele some toda informação
Grato;
Diogo Alló