Como criar um metodo para localizar letras no campo com Struts

10 respostas
diogoprosoft

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.

10 Respostas

fnandos

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:

diogoprosoft

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

e-cowboy

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.

diogoprosoft

nao, nao

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

e-cowboy

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?

diogoprosoft

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

e-cowboy

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?

diogoprosoft

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”/>

<a>html:base/</a>





<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” />
e-cowboy

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

diogoprosoft

blz ja dei uma olhada

Criado 21 de maio de 2008
Ultima resposta 21 de mai. de 2008
Respostas 10
Participantes 3