Com fazer uma pesquisa um campo imput text primefaces

0 respostas
M

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

<?xml version="1.0" encoding="ISO-8859-1" ?>

<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;
}
<a class="mention" href="/u/override">@Override</a>

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();
	
}
<a class="mention" href="/u/override">@Override</a>

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();
	}
	
}
<a class="mention" href="/u/override">@Override</a>

//@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;
}

<a class="mention" href="/u/override">@Override</a>

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;
	    }

}

Criado 25 de outubro de 2017
Respostas 0
Participantes 1