Fórum Erro de conversão ao definir o valor 04 para null Converter. #586173
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.
PARTE DA VISÃO
eu preciso pegar o valor do selectItem e fazer o filtro
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)