Olá pessoal, estou fazendo 1 sisteminha de busca com struts2 e hibernate, mas estou tendo problemas para jogar o parametro do txtfield no LIKE. Porém quando ponho algo que tenha no banco em vez do nome do txtfield (txtBusca) faz a busca normal pelo like. o problema creio que seja apenas colocar no like o txtfield corratente…
segue o código:
package br.com.ibooker.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import br.com.ibooker.hibernate.HibernateUtil;
import br.com.ibooker.modelo.Livros;
public class LivrosDAO {
private final Session session ;
public LivrosDAO() {
this.session = new HibernateUtil().getSession() ;
}
public List<Livros> busca(String nome) {
return session.createCriteria(Livros.class).add(Restrictions.like("nome", "%txtBusca%")).list() ;
}
}
package br.com.ibooker.action;
import java.util.List;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import br.com.ibooker.dao.LivrosDAO;
import br.com.ibooker.modelo.Livros;
public class BuscaLivroAction {
private List<Livros> livro ;
private String nome ;
@Action(value="buscar", results={
@Result(name="ok", location="/resultado-busca.jsp")
})
public String execute() {
livro = new LivrosDAO().busca(nome) ;
return "ok" ;
}
public List<Livros> getLivro() {
return livro;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="buscar">
Digite o texto a ser buscado:
<input type="text" name="txtBusca">
<input type="submit" value="Buscar">
</form>
</body>
</html>
Grato.