Erro de conversão ao definir o valor 04 para null Converter.

23/09/2017

0

Caros amigos eu estou com uma probleminha aqui numa pesquisa eu fiz o DAO de pesquisa pelo mês de aniversario testei no JUnit e funcionou o problema e no @ManagedBean e no SelectOneMenu.

package br.com.map.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

import org.omnifaces.util.Messages;

import br.com.map.dao.MembroDAO;
import br.com.map.domain.Membro;

@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class MembroBean implements Serializable {

	private Membro membro;
	private List<Membro> membros;
	private List<Membro> listaAniversario;
	private String mes ;

	public String getMes() {
		return mes;
	}

	public void setMes(String mes) {
		this.mes = mes;
	}

	public Membro getMembro() {
		return membro;
	}

	public void setMembro(Membro membro) {
		this.membro = membro;
	}

	public List<Membro> getMembros() {
		return membros;
	}

	public void setMembros(List<Membro> membros) {
		this.membros = membros;
	}

	public List<Membro> getListaAniversario() {
		return listaAniversario;
	}

	public void setListaAniversario(List<Membro> listaAniversario) {
		this.listaAniversario = listaAniversario;
	}

	@PostConstruct
	public void listar() {
		try {
			MembroDAO membroDAO = new MembroDAO();
			membros = membroDAO.listar();
		} catch (RuntimeException e) {
			Messages.addGlobalError("Erro ao listar  Membro");
			e.printStackTrace();
		}
	}

	public void novo() {
		membro = new Membro();
	}

	public void salvar() {
		try {
			MembroDAO membroDAO = new MembroDAO();
			membroDAO.merge(membro);
			Messages.addGlobalInfo("Salvo com sucesso!");
			novo();
			membros = membroDAO.listar();
		} catch (RuntimeException erro) {
			Messages.addGlobalError("Erro ao salvar Membro");
			erro.printStackTrace();

		}
	}

	public void excluir(ActionEvent evento) {
		try {
			membro = (Membro) evento.getComponent().getAttributes().get("membroSelecionado");
			MembroDAO membroDAO = new MembroDAO();
			membroDAO.excluir(membro);
			membros = membroDAO.listar();
			Messages.addGlobalInfo("Membro excluido com sucesso!");
		} catch (RuntimeException e) {
			Messages.addGlobalError("Erro ao excruir membro");
			e.printStackTrace();
		}
	}

	public void editar(ActionEvent evento) {

		membro = (Membro) evento.getComponent().getAttributes().get("membroSelecionado");

	}

	public void buscar() {
		try {
			MembroDAO membroDAO = new MembroDAO();
			listaAniversario = membroDAO.listaAniversariante(mes);
			
		} catch (RuntimeException erro) {
			Messages.addGlobalError("Erro ao pesquisar Membro");
			erro.printStackTrace();

		}
	}
}


PARTE DA VISÃO
?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
	template="/templates/modelo.xhtml">


	<ui:define name="conteudo">
		<h:form id="formListagem">
			<p:panel header="Membros - Aniversariantes">
				<h:panelGrid columns="3">
					<p:outputLabel value="Mês:" />
					<p:selectOneMenu value="#{membroBean.listaAniversario}" filter="true">
						<f:selectItem itemValue="" itemLabel="Selecione um Mês" />
						<f:selectItem itemValue="01" itemLabel="Janeiro" />
						<f:selectItem itemValue="02" itemLabel="Fevereiro" />
						<f:selectItem itemValue="03" itemLabel="Março" />
						<f:selectItem itemValue="04" itemLabel="Abril" />
						<f:selectItem itemValue="05" itemLabel="Maio" />
						<f:selectItem itemValue="06" itemLabel="Junho" />
						<f:selectItem itemValue="07" itemLabel="Julho" />
						<f:selectItem itemValue="08" itemLabel="Agosto" />
						<f:selectItem itemValue="09" itemLabel="Setembro" />
						<f:selectItem itemValue="10" itemLabel="Outubro" />
						<f:selectItem itemValue="11" itemLabel="Novembro" />
						<f:selectItem itemValue="12" itemLabel="Dezembro" />
					</p:selectOneMenu>
					<p:commandButton value="Buscar"
						actionListener="#(membroBean.buscar)" update=":mensagem" />
				</h:panelGrid>
				<p:dataTable id="tabela" emptyMessage="Nenhum registro encontrado."
					paginator="true" value="#{membroBean.listaAniversario}" var="membro"
					rows="5">


					<p:column headerText="Matrícula" style="width: 7%">
						<h:outputText value="#{membro.codigo}" />
					</p:column>

					<p:column headerText="Nome">
						<h:outputText value="#{membro.nome}" />
					</p:column>


					<p:column headerText="Data Nasc.">
						<h:outputText value="#{membro.nascimento}">
							<f:convertDateTime locale="pt_BR" />
						</h:outputText>
					</p:column>

				</p:dataTable>

			</p:panel>
		</h:form>


	</ui:define>
</ui:composition>


eu preciso pegar o valor do selectItem e fazer o filtro
Flavio Fontes

Flavio Fontes

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar