Ola estou a usar o prime faces agora ainda nao entendi como passa o parametro no imputtex para pesquisar e retorna o resultado no data table meu codigo esta funciando quando faco a pesquisa fillteredvalue
segue anexo o codigo
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h=“http://java.sun.com/jsf/html"
xmlns:f=“http://java.sun.com/jsf/core"
xmlns:p=“http://primefaces.org/ui” template=”/templates/template.xhtml”>
<ui:define name=“metadata”>
<f:metadata>
<f:event listener="#{MbFabricante.prepararpesquisa}"
type="preRenderView" />
</f:metadata>
</ui:define>
<ui:define name="conteudo">
<h:form id="frmconstfabricane">
<p:toolbar>
<f:facet name="left">
<h:outputText value=" Pesquisar Fabricante" />
</f:facet>
</p:toolbar>
<h:panelGrid columns="3">
<p:inputText id="descricao" size="30"
action="#{MbFabricante.prepararpesquisa}" placeholder="descricao" >
</p:inputText>
<p:commandButton value="Consultar" action="#{MbFabricante.prepararpesquisa}" />
<p:button value="Novo" outcome="/pages/cadastrofabricante.xhtml"
readonly="#{MbFabricante.action == 'Excluir'}">
</p:button>
<p:message for="descricao"/>
</h:panelGrid>
<h:panelGrid>
<p:dataTable id="tablemarca" emptyMessage="Registro não Encontrados"
value="#{MbFabricante.itens}"
filteredValue="#{MbFabricante.itensFiltrados}" var="fabricante"
rows="6" paginator="true">
<f:facet name="header">
Fabricantes
</f:facet>
<p:column headerText="Código" style=" width: 100px">
<h:outputText value="#{fabricante.idfabricante}" />
</p:column>
<p:column headerText="Descrição" filterBy="#{fabricante.descricao}"
sortBy="#{fabricante.descricao}" style=" width:250px">
<h:outputText value="#{fabricante.descricao}" />
</p:column>
<p:column headerText=" Opções" style=" width: 40px">
<p:button icon="ui-icon-pencil"
outcome="/pages/cadastrofabricante.xhtml" >
<f:param name="idfab" value="#{fabricante.idfabricante}" />
<f:param name="foracao" value="Editar" />
</p:button>
<p:button icon="ui-icon-trash"
outcome="/pages/cadastrofabricante.xhtml">
<f:param name="idfab" value="#{fabricante.idfabricante}" />
<f:param name="foracao" value="Excluir" />
</p:button>
</p:column>
</p:dataTable>
</h:panelGrid>
</h:form>
</ui:define>
</ui:composition>
package br.com.sisvendas.bean;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.Application;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import com.sun.faces.facelets.tag.jsf.core.ViewHandler;
import br.com.sisvendas.dao.DAOFabricante;
import br.com.sisvendas.domain.Fabricante;
import br.com.sisvendas.util.JSFUtil;
@ManagedBean(name=“MbFabricante”)
@ViewScoped
public class BeanFabricante extends Bean {
private Fabricante fabricante;
private List<Fabricante> fabricantefiltrado;
public List<Fabricante> getFabricantefiltrado() {
return fabricantefiltrado;
}
public void setFabricantefiltrado(List<Fabricante> fabricantefiltrado) {
this.fabricantefiltrado = fabricantefiltrado;
}
private String descricao;
private ArrayList<Object> itens;
private ArrayList<Object> itensFiltrados;
private String action;
private Integer idfabricante;
public BeanFabricante() {
}
public Fabricante getFabricante() {
return fabricante;
}
public void setFabricante(Fabricante fabricantees) {
this.fabricante = fabricantees;
}
public ArrayList<Object> getItens() {
return itens;
}
public void setItens(ArrayList<Object> itens) {
this.itens = itens;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public List<Object> getItensFiltrados() {
return itensFiltrados;
}
public void setItensFiltrados(ArrayList<Object> itensFiltrados) {
this.itensFiltrados = itensFiltrados;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public Integer getIdfabricante() {
return idfabricante;
}
public void setIdfabricante(Integer idfabricante) {
this.idfabricante = idfabricante;
}
@Override
public void carregarCadastro() {
try {
String valor = JSFUtil.getParam("idfab");
if(valor!= null) {
Integer id = Integer.parseInt(valor);
DAOFabricante fabdao = new DAOFabricante();
fabricante = (Fabricante) fabdao.findprimarykey(id);
}
else
{
novo();
}
} catch (RuntimeException e) {
JSFUtil.adicionarMensagemErro("ex.getMessage()");
e.printStackTrace();
}
}
@Override
public void novo() {
fabricante = new Fabricante();
}
@Override
public void excluir() {
DAOFabricante daofab = new DAOFabricante();
try {
daofab.excluir(fabricante);
JSFUtil.adicionarMensagemSucesso(“Fabricante excluido com sucesso!”);
} catch (Exception e) {
JSFUtil.adicionarMensagemErro(“Não é possível excluir um fornecedor que tenha um produto associado!”);
e.printStackTrace();
}
}
@Override
public void salvar() {
try {
DAOFabricante fabdao = new DAOFabricante();
fabdao.salvar(fabricante);
novo();
prepararpesquisa();
{
}
} catch (RuntimeException e) {
JSFUtil.adicionarMensagemErro("ex.getMessage()");
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
//@PostConstruct
public void prepararpesquisa() {
try {
DAOFabricante fdao = new DAOFabricante();
itens = (ArrayList<Object>) fdao.pesquisar();
} catch (RuntimeException e) {
JSFUtil.adicionarMensagemErro("ex.getMessage()");
e.printStackTrace();
}
}
public void pesquisar() {
DAOFabricante daofab= new DAOFabricante();
daofab.find(descricao);
System.out.println(descricao);
}
}
package br.com.sisvendas.dao;
import java.awt.print.Printable;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.persistence.EntityManager;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import org.hibernate.loader.custom.Return;
import br.com.sisvendas.domain.Fabricante;
import br.com.sisvendas.util.HibernateUtil;
import br.com.sisvendas.util.JSFUtil;
public class DAOFabricante extends DAO{
public EntityManager manager;
private Criteria crit;
@Override
public void salvar(Object obj) throws Exception {
Fabricante fabricante= (Fabricante) validar(obj);
Session session= HibernateUtil.getSessionFactory().openSession();
Transaction transaction=null;
try{
if((fabricante.getIdfabricante()>0)&&(fabricante.getIdfabricante()!=null)){
transaction=session.beginTransaction();//abrindo a transação
session.update(fabricante);
transaction.commit();
JSFUtil.adicionarMensagemSucesso("Fabricante Editado com sucesso!");
}else{
transaction=session.beginTransaction();//abrindo a transação
session.save(fabricante);
transaction.commit();
JSFUtil.adicionarMensagemSucesso("Fabricante salvo com sucesso!");
}
}catch (RuntimeException e) {
transaction.rollback();
}
finally{
session.close();
}
}
public Object findprimarykey (Integer id){
Session session= HibernateUtil.getSessionFactory().openSession();
Object fabricante = new Fabricante();
fabricante= null;
try{
Query consulta = session.getNamedQuery("Fabricante.findprimarykey");
consulta.setLong("codigo", id);
fabricante=(Fabricante) consulta.uniqueResult();
}catch (RuntimeException e) {
throw e;
}
finally{
session.close();
}
return fabricante;
}
@Override
public void excluir(Object obj) throws Exception {
Fabricante fabricante= (Fabricante) validar(obj);
Session session= HibernateUtil.getSessionFactory().openSession();
Transaction transaction=null;
try{
transaction=session.beginTransaction();//abrindo a transação
session.delete(fabricante);
transaction.commit();
}catch (RuntimeException e) {
System.out.println(e);
if (transaction!= null){
transaction.rollback();
}
}
finally{
session.close();
}
}
@Override
public List<Object> pesquisar() {
Session session= HibernateUtil.getSessionFactory().openSession();
List<Object> fabricante =null;
try{
Query consulta = session.getNamedQuery("Fabricante.listar");
/// consulta.setParameter("descricao", fabricante);
fabricante = consulta.list();
}catch (RuntimeException e) {
throw e;
}
finally{
session.close();
}
return fabricante ;
}
@Override
public Object validar(Object obj) throws Exception {
if ((obj == null) || (!(obj instanceof Fabricante))) {
throw new Exception("Objeto não é uma Fabricante!");
}
return (Fabricante) obj;
}
public Object find (String descricao){
Session session= HibernateUtil.getSessionFactory().openSession();
Object fabricante =null;
try{
Query consulta = session.getNamedQuery("Fabricante.find");
consulta.setString("descricao",descricao) ;
fabricante= consulta.uniqueResult();
}catch (RuntimeException e) {
System.out.println(e);
throw e;
}
finally{
session.close();
}
return fabricante;
}
public List createFabricante(int size) {
List list = new ArrayList();
for(int i = 0 ; i < size ; i++) {
list.add(new Fabricante());
}
return list;
}
}