Olá pessoal,
Iniciante em Struts é cheio de dúvidas!!! rsrs… Estou com a seguinte dúvida, estou utilizando Strus e em uma busca no BD utilizando o a classe DAO eu recebo um arraylist e exibo na tela o resultado em uma tabela. Nesta tabela em cada linha é exibida o resultado da pesquisa, queria na primeira coluna em cada linha exibir um Link ou algo parecido que ao clicar ele pegasse o ID e utilizasse o o procedimento findContatoByIdContato do DAO para então exibir uma outra tela onde ou possa editaro elemento escolhido, porém não sei utilizar o ID do objeto que já esta na página ConsultaContatoSuccess.jsp. Como faço isso?
Classe ContatoDAO.java
Código:
package com.myapp.struts;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
/**
 *
 * @author suporte
 */
public class ContatoDAO {
    /** Creates a new instance of ProdutoDAO */
    public ContatoDAO()throws Exception {
        Class.forName(jdbc_driver).newInstance();
        Connection conn = DriverManager.getConnection(jdbc_url, jdbc_user, jdbc_password);
        statement = conn.createStatement();
    }
   
    public void close() {
        try {
            this.statement.close();
        } catch(Exception e) {
            System.out.println(e.getMessage());
        }
    }
   
    public Contato findContatoByIdContato(int idContato) {
        Contato contato = null;
        try {
            ResultSet rs =
                    this.statement.executeQuery( "SELECT * FROM contato WHERE id_contato="
                    + idContato);
            if (rs.next()) {
                contato = new Contato(  rs.getInt(1),
                        rs.getString(2),
                        rs.getString(3),
                        rs.getString(4),
                        rs.getString(5),
                        rs.getString(6),
                        rs.getString(7),
                        rs.getString(8),
                        rs.getString(9),
                        rs.getString(10),
                        rs.getString(11));
            }
        } catch (SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return contato;
    }
   
    public ArrayList listAllContatos() {
        ArrayList contatos = new ArrayList();
        Contato contato;
        try {
            ResultSet rs = this.statement.executeQuery("SELECT * FROM contato ORDER BY nome_contato");
            while(rs.next()) {
                contato = new Contato(  rs.getInt(1),
                        rs.getString(2),
                        rs.getString(3),
                        rs.getString(4),
                        rs.getString(5),
                        rs.getString(6),
                        rs.getString(7),
                        rs.getString(8),
                        rs.getString(9),
                        rs.getString(10),
                        rs.getString(11));
                contatos.add(contato);
            }
        } catch(SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return contatos;
    }
   
    public ArrayList findContatoByNome(String nomeContato) {
        ArrayList contatos = new ArrayList();
        Contato contato;
        try {
            ResultSet rs = this.statement.executeQuery("SELECT * FROM contato WHERE nome_contato LIKE '%" + nomeContato + "%'");
            while(rs.next()) {
                contato = new Contato( rs.getInt(1),
                        rs.getString(2),
                        rs.getString(3),
                        rs.getString(4),
                        rs.getString(5),
                        rs.getString(6),
                        rs.getString(7),
                        rs.getString(8),
                        rs.getString(9),
                        rs.getString(10),
                        rs.getString(11));
                contatos.add(contato);
            }
        } catch(SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return contatos;
    }
   
    public boolean InsertContato(Contato contato) {
        String nomeContato = contato.getNomeContato();
        String sobrenomeContato = contato.getSobrenomeContato();
        String empresaContato = contato.getEmpresaContato();
        String enderecoContato = contato.getEnderecoContato();
        String cidadeContato = contato.getCidadeContato();
        String estadoContato = contato.getEstadoContato();
        String emailContato = contato.getEmailContato();
        String dddContato = contato.getDddContato();
        String telefoneContato = contato.getTelefoneContato();
        String celularContato = contato.getCelularContato();
        boolean teste = false;
        try {
            int linhas = this.statement.executeUpdate("INSERT INTO contato VALUES(null,'"
                    +nomeContato +"','"
                    +sobrenomeContato+"','"
                    +empresaContato+"','"
                    +enderecoContato+"','"
                    +cidadeContato+"','"
                    +estadoContato+"','"
                    +emailContato+"','"
                    +dddContato+"','"
                    +telefoneContato+"','"
                    +celularContato+"')");
            if (linhas > 0)
                teste = true;
            else
                teste = false;
        } catch (SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return teste;
       
       
    }
   
   
    public boolean DeleteContato(String idContato) {
        boolean teste = false;
        try {
            int linhas = this.statement.executeUpdate( "DELETE FROM contato WHERE id_contato ='" + idContato + "'");
            if (linhas > 0)
                teste = true;
            else
                teste = false;
        } catch (SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return teste;
    }
   
   
   
    public boolean AlteraContato(Contato contato) {
        int idContato = contato.getIdContato();
        String nomeContato = contato.getNomeContato();
        String sobrenomeContato = contato.getSobrenomeContato();
        String empresaContato = contato.getEmpresaContato();
        String enderecoContato = contato.getEnderecoContato();
        String cidadeContato = contato.getCidadeContato();
        String estadoContato = contato.getEstadoContato();
        String emailContato = contato.getEmailContato();
        String dddContato = contato.getDddContato();
        String telefoneContato = contato.getTelefoneContato();
        String celularContato = contato.getCelularContato();
        boolean teste = false;
        try {
            String id = String.valueOf(idContato);
            String sql = "";
            sql = "UPDATE contato  SET " +
                    "nome_contato = '"+nomeContato+"'" +
                    ", sobrenome_contato = '"+sobrenomeContato+"'" +
                    ", empresa_contato = '"+empresaContato+"'" +
                    ", endereco_contato = '"+enderecoContato+"'" +
                    ", cidade_contato = '"+cidadeContato+"'" +
                    ", estado_contato = '"+estadoContato+"'" +
                    ", email_contato = '"+emailContato+"'" +
                    ", ddd_contato = '"+dddContato+"'" +
                    ", telefone_contato = '"+telefoneContato+"'" +
                    ", celular_contato = '"+celularContato+"'" +
                    " WHERE id_contato =" + idContato;
            int linhas = this.statement.executeUpdate(sql);
            if (linhas > 0)
                teste = true;
            else
                teste = false;
        } catch (SQLException sqle) {
            System.out.println(sqle.getMessage());
        }
        return teste;
    }
    private Statement statement;
    private static String jdbc_driver= java.util.ResourceBundle.getBundle("com/myapp/struts/ApplicationResource").getString("jdbc.driver");
    private static String jdbc_url = java.util.ResourceBundle.getBundle("com/myapp/struts/ApplicationResource").getString("jdbc.url");
    private static String jdbc_user = java.util.ResourceBundle.getBundle("com/myapp/struts/ApplicationResource").getString("jdbc.user");
    private static String jdbc_password = java.util.ResourceBundle.getBundle("com/myapp/struts/ApplicationResource").getString("jdbc.password");
   
   
}
Página ConsultaContatoSuccess.jsp
Código:
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<%@ page errorPage="erro.jsp" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Consulta Contato</title>
    </head>
    <body>
        <h1>Resultado da Consulta</h1>
        <table border="1">
            <thead>
                <tr>
                    <th>Editar</th>
                    <th>Excluir</th>
                    <th>ID</th>
                    <th>Nome</th>
                    <th>Sobrenome</th>
                    <th>Empresa</th>
                    <th>Endereco</th>
                    <th>Cidade</th>
                    <th>Estado</th>
                    <th>Email</th>
                    <th>DDD</th>
                    <th>Telefone</th>
                    <th>Celular</th>
                </tr>
            </thead>
            <logic:iterate name="contatosnome" id="contatos" >
                <tbody>
                <tr>
                    <td>Link ou Botão para Excluir AQUI!!!</td>
                    <td>Link ou Botão para Editar AQUI!!!</td>
                    <td><bean:write name="contatos" property="idContato"/></td>
                    <td><bean:write name="contatos" property="nomeContato"/></td>
                    <td><bean:write name="contatos" property="sobrenomeContato"/></td>
                    <td><bean:write name="contatos" property="empresaContato"/></td>
                    <td><bean:write name="contatos" property="enderecoContato"/></td>
                    <td><bean:write name="contatos" property="cidadeContato"/></td>
                    <td><bean:write name="contatos" property="estadoContato"/></td>
                    <td><bean:write name="contatos" property="emailContato"/></td>
                    <td><bean:write name="contatos" property="dddContato"/></td>
                    <td><bean:write name="contatos" property="telefoneContato"/></td>
                    <td><bean:write name="contatos" property="celularContato"/></td>
                </tr>
            </logic:iterate>
            </tbody>
        </table>
     </body>
</html>
Ah… preciso fazer isso utilizando Struts.
Se acharem melhor posso enviar os Beans que utilizo para exibir os resultados
Grato a todos.
Wallfox