Como criar um metodo para localizar letras no campo com Struts

Salve Salve Galera!!!

Preciso da ajuda de vcs…

Como Posso criar um metodo para localizar qualquer letra ou palavra no campo desejado.

Para entender melhor vou dar um exemplo.

Digamos que o usuario digite o nome da pessoa a ser localizada, então o metodo e chamado e mostra no formulário os dados da pessoa, tem como fazer algo parecido com isso? não esquecendo que estou usando STRUS.

Um filtro vc quer dizer, cara eu isso uma coisa parecida só que com criteria do hibernate, com struts nunca ouvi de alguem que tentou, por vc teria que executar um select no banco, talvez com resultSet de, ai vc passaria o nome como parâmetro pra action, de um campo criado no form, um get e set de uma variavel como o mesmo name do campo. :roll:

Valeu cara era o que eu estava pensando mesmo, eu ja tinha feito isso uma vez mais no swing…

VOU TER QUE APRENDER HIBERNATE na marra, hehe fui

Se eu entendi você quer que após o preenchimento da nome da pessoa ele procure o restante dos dados dessa pessoa sem ter que clicar em nenhum botão, é isso? Tipo um ajax?

Você pode fazer isso através de ajax mesmo, ou de onblur no campo nome disparando a ação do método de consulta, ou trabalhar com iframes…
Ai vai da criatividade.

nao, nao

tipo vc tem que clicar no botão para ele fazer a consulta, vc sabe como fazer isso?

Você então só quer pegar o nome que está digitado num campo e consultar os dados?
Cara faz um form que dispara para o seu action, se usar dispatchAction mais facil ainda, dai no seu action recupere os dados no form enviado, ou pelo request.getParameter e pesquise no banco! É isso que você precisa?

e isso ai…

eu tentei fazer mais não consegui não sei se faltou alguma coisa, você poderia colocar um exemplo pra mim, se não for pedir muito, valeu cara, se não fosse vcs do forum, heheh :-o

Cara, você já fez o formulário onde será digitado o nome?
Já tem o Action e o método que faz a consulta?
O que você já tem pronto?

ja tenho sim vou colocar aqui para vc dar uma olhada

minha persistencia

package clientes.persistencia;

import clientes.bean.Cliente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.activation.DataSource;
import service.ServicePool;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;

/**
*

  • @author Diogo
    */
    public class Persistencia {

    private static final String JNDINome = “jdbc/sicewebbd”;

    Connection con = null;
    ResultSet rs = null;
    PreparedStatement stmt = null;

    public void desconecta(){
    if (rs != null){
    try{
    rs.close();
    }catch(SQLException e){

         }
     }
     if (stmt != null) {
         try {
             stmt.close();
         } catch (SQLException e) {
        }
      }
    if (con != null) {
         try {
             con.close();
         } catch (SQLException e) {
       }
     }
    

    }

    public void localizarCliente(Cliente cliente) throws SQLException{

     try {
         con = ServicePool.getConexao(JNDINome);
     }catch (Exception e){
         e.printStackTrace();
     }
     
     String sql = "SELECT * FROM clientes";
     
     try{
         
         stmt = con.prepareStatement(sql);
         stmt.executeQuery();
         
         rs.first();
         
         String igual = "n";
    
         int tamanho_pesquisa = cliente.getNome().length();
    
         while (igual == "n"){
           
             String pesquisando = rs.getString("nome").substring(0,(tamanho_pesquisa));
             
                 if(pesquisando.equals(cliente.getNome())){
                     igual = "s";
             } else {
                 rs.next();
          }
         cliente.setData_cadastro(rs.getDate("data_cadastro"));
         cliente.setData_nascimento(rs.getDate("data_nascimento"));
         cliente.setEndereco(rs.getString("endereco"));
         cliente.setBairro(rs.getString("bairro"));
         cliente.setCep(rs.getString("cep"));
         cliente.setCidade(rs.getString("cidade"));
         cliente.setEstado(rs.getString("estado"));
         cliente.setFone1(rs.getString("fone1"));
         cliente.setFone2(rs.getString("fone2"));
         cliente.setFone3(rs.getString("fone3"));
         cliente.setCnpj(rs.getString("cnpj"));
         cliente.setIe(rs.getString("ie"));
         cliente.setEmail(rs.getString("email"));            
      }                                                          
    }
     catch (SQLException e) {
         throw e;            
     }
     finally {                     
         desconecta();
     }        
    

    }

    public void insertCliente(Cliente cliente) throws SQLException{

     try {
         con = ServicePool.getConexao(JNDINome);
     } catch (Exception e) {
         e.printStackTrace();
     }
     String sql = "INSERT INTO clientes (data_cadastro,nome,data_nascimento,endereco,bairro,cep,cidade," +
                       "estado,fone1,fone2,fone3,cnpj,ie,email) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
     
     try{            
         stmt = con.prepareStatement(sql);            
         stmt.setObject(1, cliente.getData_cadastro());
         stmt.setObject(2, cliente.getNome());
         stmt.setObject(3, cliente.getData_nascimento());
         stmt.setObject(4, cliente.getEndereco());
         stmt.setObject(5, cliente.getBairro());
         stmt.setObject(6, cliente.getCep());
         stmt.setObject(7, cliente.getCidade());
         stmt.setObject(8, cliente.getEstado());
         stmt.setObject(9, cliente.getFone1());
         stmt.setObject(10, cliente.getFone2());
         stmt.setObject(11, cliente.getFone3());
         stmt.setObject(12, cliente.getCnpj());
         stmt.setObject(13, cliente.getIe());
         stmt.setObject(14, cliente.getEmail());
                    
         stmt.executeUpdate();               
                 
     }
     catch (SQLException e) {
         throw e;            
     }
     finally {                     
         desconecta();
     }                  
    

    }

public void alterarCliente(Cliente cliente) throws SQLException{
try {
con = ServicePool.getConexao(JNDINome);
} catch (Exception e) {
e.printStackTrace();
}
String sql = “UPDATE clientes set data_cadastro = ? ,data_nascimento = ? ,” +
“endereco = ?,bairro = ?,cep = ? ,cidade = ?,” +
“estado = ?,fone1 = ? ,fone2 = ?,fone3 = ?,cnpj = ? ,ie = ?,email = ? WHERE nome = ?”;

    try{            
        stmt = con.prepareStatement(sql);            
        stmt.setObject(1, cliente.getData_cadastro());           
        stmt.setObject(2, cliente.getData_nascimento());
        stmt.setObject(3, cliente.getEndereco());
        stmt.setObject(4, cliente.getBairro());
        stmt.setObject(5, cliente.getCep());
        stmt.setObject(6, cliente.getCidade());
        stmt.setObject(7, cliente.getEstado());
        stmt.setObject(8, cliente.getFone1());
        stmt.setObject(9, cliente.getFone2());
        stmt.setObject(10, cliente.getFone3());
        stmt.setObject(11, cliente.getCnpj());
        stmt.setObject(12, cliente.getIe());
        stmt.setObject(13, cliente.getEmail());
        stmt.setObject(14, cliente.getNome());
                   
        stmt.executeUpdate();
                
    }
    catch (SQLException e) {
        throw e;            
    }
    finally {                     
        desconecta();
    }
}

public void excluiCliente(String nome) throws SQLException{
try {
con = ServicePool.getConexao(JNDINome);
} catch (Exception e) {
e.printStackTrace();
}
String sql = “DELETE FROM clientes WHERE nome = ?”;

    try{            
        stmt = con.prepareStatement(sql);            
        stmt.setObject(1, nome);                       
                   
        stmt.executeUpdate();
                
    }
    catch (SQLException e) {
        throw e;            
    }
    finally {                     
        desconecta();
    }
}  

}

minha action

public class ClienteAction extends DispatchAction{

private final static String SUCCESS = "success";    
       
public ActionForward inserir(ActionMapping mapping, ActionForm  form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
       
    HttpSession session = request.getSession();
    
    ClienteForm clienteForm = (ClienteForm) form;
    Cliente cliente = new Cliente();
    BeanUtils.copyProperties(cliente, clienteForm);
    
    Persistencia persistencia = new Persistencia();
    
    persistencia.insertCliente(cliente);
    
    return mapping.findForward(SUCCESS);        
            
}        

public ActionForward localizar(ActionMapping mapping, ActionForm  form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    
    HttpSession session = request.getSession();
    
    ClienteForm clienteForm = (ClienteForm) form;
    Cliente cliente = new Cliente();        
    
    Persistencia persistencia = new Persistencia();
    
    persistencia.localizarCliente(cliente);
    
    
            
    return mapping.findForward("localiza");        
}

}

meu jsp

<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

<%@ taglib uri=“http://struts.apache.org/tags-logic” prefix=“logic” %>
<%@ taglib uri=“http://struts.apache.org/tags-html” prefix=“html” %>
<%@ taglib uri=“http://struts.apache.org/tags-bean” prefix=“bean” %>

<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

<html:html locale=“true”>

<bean:message key=“css”/>
<bean:message key=“titulo”/>
html:base/


<html:form action=“clienteaction” focus=“nome”>
<html:hidden property=“method” value=“inserir” />





            <tr>
                <td><bean:message key="nome"/></td>
                <td><label>
                    <html:text property="nome" size="50" /><html:errors property="nome"/>
                 </label></td>
            </tr>

            <tr>
                <td><bean:message key="data_nascimento"/></td>
                <td><label>
                    <html:text property="data_nascimento" size="30" />
                 </label></td>
            </tr>   
            
            <tr>
                <td><bean:message key="endereco"/></td>
                 <td><label>
                    <html:text property="endereco" size="50" /><html:errors property="endereco"/>
                </label></td>
             </tr>

            <tr>
                 <td><bean:message key="bairro"/></td>
                <td><label>
                    <html:text property="bairro" /><html:errors property="bairro"/>
                 </label></td>
            </tr>
            
            <tr>
                <td><bean:message key="cep"/></td>
                <td><label>
                    <html:text property="cep" size="30" />
                </label></td>
            </tr>

            <tr>
                <td><bean:message key="cidade"/></td>
                <td><label>
                    <html:text property="cidade" size="30" /><html:errors property="cidade"/>
                </label></td>
            </tr>
            
            <tr>
                <td><bean:message key="estado"/></td>
                <td><label>
                    <html:text property="estado" size="5" />
                  </label></td>
            </tr>

            <tr>
                <td><bean:message key="fone1"/></td>
                <td><label>
                    <html:text property="fone1" size="30" /><html:errors property="fone1"/>
                </label></td>
            </tr>
    
            <tr>
                <td><bean:message key="fone2"/></td>
                <td><label>
                    <html:text property="fone2" size="30" />
                </label></td>
            </tr>
            
            <tr>
                <td><bean:message key="fone3"/></td>
                <td><label>
                    <html:text property="fone3" size="30" />
                  </label></td>
            </tr>

            <tr>
                <td><bean:message key="cnpj"/></td>
                <td><label>
                    <html:text property="cnpj" size="30" />
                </label></td>
            </tr>

            <tr>
                <td><bean:message key="ie"/></td>
                <td><label>
                    <html:text property="ie" size="30" />
                </label></td>
            </tr>

            <tr>
                <td><bean:message key="email"/></td>
                <td><label>
                    <html:text property="email" size="50" />
                     </label></td>
            </tr>

            <tr>
                <td><label>
                        <html:submit><bean:message key="gravar"/></html:submit>  
                        <html:link action="/clienteaction?method=localizar">Localizar</html:link>
                </label></td>
            </tr>
     </table>
    </html:form>
</body>

</html:html>

meu struts-config

e isso ai cara, se puder me ajudar te agradeço :slight_smile:

<bean:message key=“data_cadastro”/>
<html:text property=“data_cadastro” size=“30” />

Velhinho, acabei de colocar uma sugestão para teste naquele outro post seu lá, beleza?

blz ja dei uma olhada