Display tag

2 respostas
D

galera sera que alguem pode me dar um força como eu transformo este codigo feito, eu gostaria de colocar paginação mais com o display tag mais nao consigo vou postar o codigo pra vcs verem…

jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>


<!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>JSP Page</title>
    </head>
    <body>

    <h1>JSP Page</h1>
    
<%
if(request.getAttribute("cli")!= null){
    Cliente cli = (Cliente).request.getAttribute("cli");
}

%>
 
 <display:table name="cli" class="Cliente">
 <display:column property="nome" />
 <display:column property="email" />
</display:table>
    

    </body>
</html>

Dao

package guardr;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

public class Dao {

public Dao() {
}
protected static PreparedStatement stmt;

protected static Connection con;

protected static ResultSet rs;
public void open(){
    
    try{
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","nat");
        
    }catch(Exception e){
        e.getMessage();            
        
    }
}

}

exibe

package guardr;
import java.util.ArrayList;
import java.util.List;

public class Exibe extends Dao{
    
   
    public Exibe() {
    }
    
     public List exibir(){
        
       List lista = new ArrayList();
       
        try{
            stmt = con.prepareStatement("select * from aluno");
            rs = stmt.executeQuery();
                                  
            while(rs.next()){
                Cliente cliente = new Cliente();
                
                cliente.setNome(rs.getString("nome"));
                cliente.setEmail(rs.getString("email"));
                
            }
            
            
        }catch(Exception e){
            e.getMessage();
        }
        return lista;
    }
    
}

bean

package guardr;

public class Cliente {
   private String nome;
   private String email;
    
    public Cliente() {
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

}

servlets

package guardr;
/*
 * Control.java
 *
 * Created on 10 de Maio de 2008, 19:45
 */

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author Thiago Meinel
 * @version
 */
public class Control extends HttpServlet {
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
      
        
        Cliente cli = new Cliente();
        Exibe exibe = new Exibe();
        
        exibe.open();
        exibe.exibir();
        
        request.setAttribute("cli",cli);
        request.getRequestDispatcher("index.jsp").forward(request,response);    
        
        
        
        out.close();
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}

o que estou fazendo de errado quero entedner isso por fvor me deem um a força estou começando abraço!!!

2 Respostas

alves.Felipe

Ola,

Cara… se não me engano o display:table tem um atributo que é pagesize ou apenas size… não me lembro…
mas ai nesse atributo, é só vc colocar o número de linhas que queira mostrar…
abraco

D
Olá dark neo, queria ver com você se conseguistes fazer a sua aplicação funcionar, pois segui os seus arquivos de teste, simplesmente adaptando para minha base de dados e não consegui fazer com que funcionasse. Tento debugar a aplicação, mas ao debugá-la verifico que ela nem chega a passar pelo servlet Control.java, ou seja não chama as classes Pessoa e nem Exibe, ou seja, não faz o select para trazer dados na tela, sendo que no jsp quando faz o teste:
if(request.getAttribute("pess")!= null){
        Pessoa pess = (Pessoa) request.getAttribute("pess");
    }
Passa direto, pois vem nulo. Coloquei os arquivos commons-logging.jar, commons-lang-2.1.jar, commons-collections.jar, commons-beanutils-1.8.0.jar, log4j.jar, mysql-connector-java-5.1.7-bin.jar e displaytag-1.2.jar no Classpath da aplicação. Coloquei também o arquivo displaytag.tld na pasta WEB-INF da aplicação. Segue abaixo o código que adaptei para a base orcl, tabela pessoa que utilizo: Pessoa.java
package guardr;

public class Pessoa{
	private String nmpessoarazao;
	private String nrcpf;

	public Pessoa() {
	}

	public String getNmpessoarazao() {
		return nmpessoarazao;
	}

	public void setNmpessoarazao(String nmpessoarazao) {
		this.nmpessoarazao = nmpessoarazao;
	}

	public String getNrcpf() {
		return nrcpf;
	}

	public void setNrcpf(String nrcpf) {
		this.nrcpf = nrcpf;
	}

	
}
Dao.java
package guardr;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Dao {

	public Dao() {
	}

	protected static PreparedStatement stmt;
	protected static Connection con;
	protected static ResultSet rs;

	public void open() {

		try {
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/orcl", "root", "");
		} catch (Exception e) {
			e.getMessage();
		}
	}

}
Exibe.java
package guardr;

import java.util.ArrayList;
import java.util.List;

public class Exibe extends Dao {

	public Exibe() {
	}

	public List exibir() {

		List lista = new ArrayList();

		try {
			stmt = con.prepareStatement("select * from pessoa");
			rs = stmt.executeQuery();

			while (rs.next()) {
				Pessoa pess = new Pessoa();

				pess.setNmpessoarazao(rs.getString("nmpessoarazao"));
				pess.setNrcpf(rs.getString("nrcpf"));

			}

		} catch (Exception e) {
			System.out.println("Problemas Exibir");
			e.getMessage();
		}
		return lista;
	}

}
Control.java
package guardr;

/*
 * Control.java
 *
 * Created on 10 de Maio de 2008, 19:45
 */

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;


/**
 *
 * @author Thiago Meinel
 * @version
 */
public class Control extends HttpServlet {
    
    /** 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 {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
      
        
        Pessoa pess = new Pessoa();
        Exibe exibe = new Exibe();
        
        exibe.open();
        exibe.exibir();
        
        request.setAttribute("pess",pess);
        request.getRequestDispatcher("index.jsp").forward(request,response);    
        
        
        
        out.close();
    }
    
    // &lt;editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."&gt;
    /** Handles the HTTP &lt;code&gt;GET&lt;/code&gt; method.
     * @param request servlet request
     * @param response servlet response
     */
    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
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // &lt;/editor-fold&gt;
}
index.jsp
&lt;%@page contentType="text/html"%&gt;
&lt;%@page pageEncoding="UTF-8"%&gt;
&lt;%@ taglib uri="http://displaytag.sf.net" prefix="display" %&gt;

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"&gt;

&lt;%@page import="guardr.Pessoa"%&gt;&lt;html&gt;
    &lt;head&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
        &lt;title&gt;JSP Page&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;

    &lt;h1&gt;JSP Page&lt;/h1&gt;
    
&lt;%
    	if(request.getAttribute("pess")!= null){
        Pessoa pess = (Pessoa) request.getAttribute("pess");
    }
    %&gt;
 
 &lt;display:table name="pess" class="Pessoa" pagesize="1"&gt;
 &lt;display:column property="nmpessoarazao" /&gt;
 &lt;display:column property="nrcpf" /&gt;
&lt;/display:table&gt;
    

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

web.xml
[code]
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"&gt;
  &lt;display-name&gt;jsp_display&lt;/display-name&gt;
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
  &lt;servlet&gt;
    &lt;description&gt;&lt;/description&gt;
    &lt;display-name&gt;Control&lt;/display-name&gt;
    &lt;servlet-name&gt;Control&lt;/servlet-name&gt;
    &lt;servlet-class&gt;guardr.Control&lt;/servlet-class&gt;
  &lt;/servlet&gt;
  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Control&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/Control&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
  &lt;taglib&gt; 
	&lt;taglib-uri&gt;http://displaytag.org&lt;/taglib-uri&gt; 
	&lt;taglib-location&gt;/WEB-INF/displaytag.tld&lt;/taglib-location&gt; 
  &lt;/taglib&gt; 
&lt;/web-app&gt;
Agradeço se puderes me dar uma dica do que posso estar fazendo de errado.
Criado 10 de maio de 2008
Ultima resposta 19 de abr. de 2009
Respostas 2
Participantes 3