paginação com opcao de exibir registro selecionado.....jsp..jstl

12 respostas
A

Caras…

Sou iniciante em java. Estou me debatendo com um trampo aqui no que se refere a paginação

Preciso criar uma paginação ‘simples’…onde ao apresentar uma lista do banco de dados(mysql), eu tenha a opcao de escolher qualquer campo e o mesmo abra mostrando o registro…

Estive dando uma olhada no model.getRowData( …mas nao consegui chegar no resultado…

vcs tem alguma logica ou exemplo pra mim estudar?

valeu

12 Respostas

idev4web

use displaytag

v1c70r_f

Carinha, pelo que colocou deve estar usando JSF…

você pode usar um rowSelector e no evento pegar a linha selecionada na tabela, …

na página:

.
.
<h:dataTable value="#{bean.suaLista}"
                                               var="suaEntidade"
											   binding="#{bean.suaListaTbl}">
                                    <h:column > 
                                        <h:rowSelector value="#{suaEntidade.selected}"
                                                         multiple="false"
                                                         enhancedMultiple="false"
                                                         selectionListener="${bean.selecionarEntidade}"
                                                         preStyleOnSelection="true"
                                                         immediate="true"/>
.
.

no backing bean:

private HtmlDataTable suaListaTbl;
.
.
.
public void selecionarEntidade(RowSelectorEvent event) {
		SuaEntidade suaEntidade = (SuaEntidade)suaListaTbl.getRowData();

	}

mas caso deseja acionar utilizando um botão ou link, você poderia utilizar também um <f:setPropertyActionListener…

A

Vcs teriam algum exemplo mais pratico?
Pq ate entao, eu consegui exibir a lista da seguinte forma(só nao consegui abrir algum registro quando seleciono

<%

            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/gerencia", "xxxxx", "xxx");

            Statement stmt = conn.createStatement();

            ResultSet rs = stmt.executeQuery("Select  e.idade,  e.id, e.id_cliente, c.nome,  FROM cliente c INNER JOIN estoque e ON e.id_cliente = c.codigo ");

                               
                 while (rs.next()) {
                  


                     String id = ("<TD>" + "<a href=\"consulta_pedido_1.jsp?id=id" + "\">" + rs.getString("id") + "</TD>");
                     out.println("" + id);
 
                     String nome = ("<TD>" + rs.getString("nome") + "</TD>");
                     out.println("" + nome);

                     String idade = ("<TD>" + rs.getString("idade") + "</TD>");
                     out.println("" + data_fim);

                    

                     out.println("</TR>");

                 
}
                                    %>
v1c70r_f

Rapaz, você está fazendo tudo no .jsp?? (Abrindo conexão com o banco e carregando os registros, tudo no jsp?)

Tem uns artigos bacanas aqui no guj :D, dá uma olhada, tem de JSF também, é bastante simples…

caso não use JSF, vale a dica do idev4web, dá uma olhada no displaytag…

o/

A

Eu andei dando uma pesquisada…! diante do exemplo acima…tem algum exemplo?

v1c70r_f

carinha, olha o código fonte html que você está gerando

esse código:

while  (rs.next()) {  
                     
   
   
                      String id = ("<TD>" + "<a href=\"consulta_pedido_1.jsp?id=id" + "\">" + rs.getString("id") + "</TD>");  
                      out.println("" + id);  
   
                      String nome = ("<TD>" + rs.getString("nome") + "</TD>");  
                      out.println("" + nome);  
   
                      String idade = ("<TD>" + rs.getString("idade") + "</TD>");  
                      out.println("" + data_fim);  
   
                      
                      out.println("</TR>");

está gerando algo parecido com:

<TD><a href="consulta_pedido_1.jsp?id=id">1234</TD>
<TD>Nome<TD>
<TD>55</TD>
</TR>

ou seja, o link fica “consulta_pedido_1.jsp?id=id” ou invés de “consulta_pedido_1.jsp?id=1234”…

tem alguns outros detalhes também, você não está abrindo o

e não está fechando o .

o/

abraço

A

Entao,

Na verdade o

foi aberto e fechado normal…é que peguei o trecho do codigo que interessava mais…

Com relacao ao trecho:

String id = ("<TD>" + "<a href=\"consulta_pedido_1.jsp?id=id" + "\">" + rs.getString("id") + "</TD>");

Eu queria que ele retornasse os dados do registro que selecionei (baseado no campo ID)…mas qdo seleciono ele nao mostra nada na tela gerada…

v1c70r_f

mas essa linha carinha:

String id = ("<TD>" + "<a href=\"consulta_pedido_1.jsp?id=id" + "\">" + rs.getString("id") + "</TD>");

não monta a url corretamente…

faz um teste, executa a url que ele gera
consulta_pedido_1.jsp?id=id

provavelmente não vai funcionar, ao menos que tenha um registro com id = “id” entendeu?

mas se colocar
consulta_pedido_1.jsp?id=1

pode ser que retorne algum registro

caso funcione, depois altere para

String id = ("<TD>" + "<a href=\"consulta_pedido_1.jsp?id="+ rs.getString("id") + "\">" + rs.getString("id") + "</a></TD>");
A

v1c70r_f …valeu pelas dicas…!

A linha esta trazendo trazendo o parametro certinho(dados do registro escolhido)…! mas na hora de exibir nao mostra nada…
Vou analisar o que esta ocorrendo …

v1c70r_f

Isso mesmo carinha, a linha apresenta os dados na tela corretamente.

Você varre os registros e mostra na tela, mas para apresentar os todos os dados referente a um id específico, você precisa fazer outra requisição.

Essa outra requisição é a chamada à consulta_pedido_1.jsp, passando por parâmetro no request o id específico para realizar nova busca no banco e apresentar os dados em outra tela, ficando a chamada consulta_pedido_1.jsp?id=SeuId, tendeu?

Dá uma olhada nos tutoriais de servlet que aí acho que vai entender melhor o que está acontecendo e como resolver seu problema.

Bons estudos e qualquer coisa posta aew o/

abraço

A

…Cara valeu mesmo ! vc deu uma clareada lgl…

Agora vou dar uma olhada nisto dos servlets que vc falou…(para exibir os resultados)

abraçao

A

…Apareceu uma situacao aqui na exibição que é a seguinte:

A tela exibi os dados do registro escolhido numa tabela…" Existe um campo “CODIGO DA MERCADORIA” (que é aquele codigo que o correio passa para verificar onde a mercadoria esta)

Este campo é processado da seguinte forma:

<form method="GET" action="http://websro.correios.com.br/sro_bin/txect01$.QueryList={" target="_blank" name="rastreamento">

<input type="hidden" name="P_TIPO" value="001">

<textarea name="CODIGO" rows="3" wrap="VIRTUAL" cols="30"></textarea>

Quando eu clico no campo codigo ele me retorna uma tela com o status da mercadoria…

Tem como este campo ja vir com o valor(juntamente com o os outros dados que ja esta na base de dados) e por consequente ja imprimir o status na tela(em vez de eu ter q clicar nele para ele me retornar em outra tela?

Criado 14 de abril de 2010
Ultima resposta 20 de abr. de 2010
Respostas 12
Participantes 3