Ola pessoal, estou tendo dificuldades em atualizar o bean quando é seleciondo algum no comboBox, o mesmo não atualiza o bean e os valores ficam sempre como nulos
segue abaixo meu codigo JSF e após, o bean
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:f="http://java.sun.com/jsf/core"
template="/template.xhtml">
<ui:define name="content">
<a4j:keepAlive ajaxOnly="false" beanName="faltas" />
<h2>Listar Faltas</h2>
<hr />
<rich:panel id="faltasListar">
<a4j:form id="SearchMiss">
Selecione as opções:
<h:panelGrid columns="2">
<h:outputText value="Data: "/>
<rich:calendar datePattern="dd/MM/yyyy"
value="#{faltas.dataFaltas}">
<a4j:support event="onChanged"
process="#{faltas}"/>
</rich:calendar>
<h:outputText value="CIA: "/>
<h:selectOneMenu id="comboCIA"
immediate="true"
converter="converterObjeto"
valueChangeListener="#{faltas.companhiaSelecionada}">
<f:selectItems value="#{faltas.companhiaItens}"/>
</h:selectOneMenu>
<h:outputText value="Post/Grad" />
<h:selectOneMenu id="comboGrad"
immediate="true"
converter="converterObjeto"
valueChangeListener="#{faltas.graduacaoSelecionada}">
<f:selectItems value="#{faltas.graduacaoItens}"/>
</h:selectOneMenu>
</h:panelGrid>
<a4j:commandButton action="#{faltas.actListar}"
ajaxSingle="false"
immediate="false"
reRender="SearchMiss"
value="Listar"
type="submit"/>
<hr />
<rich:dataTable id="resultTable"
rendered="#{not empty faltas.dataModel}"
rows="10"
var="falta"
value="#{faltas.dataModel}">
<rich:column>
<f:facet name="header">
<h:outputText value="Pos/Grad" />
</f:facet>
<h:outputText value="#{falta.usuario.graduacao}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Pos/Grad" />
</f:facet>
<h:outputText value="#{falta.usuario.nomeGuerra}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Pos/Grad" />
</f:facet>
<h:outputText value="#{falta.cafeOK}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Pos/Grad" />
</f:facet>
<h:outputText value="#{falta.almocoOk}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Pos/Grad" />
</f:facet>
<h:outputText value="#{falta.jantaOk}"/>
</rich:column>
</rich:dataTable>
</a4j:form>
</rich:panel>
</ui:define>
</ui:composition>
BEAN
public class ListarFaltasControle {
private Arranchamento arranchamento;
private List<SelectItem> companhiaItens;
private List<SelectItem> graduacaoItens;
private Companhia companhiaSelecionada;
private Graduacao graduacaoSelecionada;
private Graduacao graduacao;
private Date dataFaltas;
private DataModel dataModel;
public ListarFaltasControle() {
companhiaItens = new ArrayList<SelectItem>();
CompanhiaDAO daoCompanhia = new CompanhiaDAOImp();
List<Companhia> listCompanhia = daoCompanhia.findAll();
for(Companhia c : listCompanhia)
companhiaItens.add(new SelectItem(c));
graduacaoItens = new ArrayList<SelectItem>();
GraduacaoDAO daoGraduacao = new GraduacaoDAOImp();
List<Graduacao> listGraduacao = daoGraduacao.findAll();
for(Graduacao g : listGraduacao)
graduacaoItens.add(new SelectItem(g));
}
public void actListar(){
System.out.println(companhiaSelecionada);
System.out.println(graduacaoSelecionada);
try {
ArranchamentoDAO dao = new ArranchamentoDAOImp();
List<Arranchamento> listArranchamento = dao.findByFaltas(companhiaSelecionada, graduacao, dataFaltas);
dataModel = new ListDataModel(listArranchamento);
} catch (NadaFoiEncontrado ex) {
FacesUtils.getInstance().adicionaMensagem(ex.getMessage());
}
}
public Arranchamento getArranchamento() {
return arranchamento;
}
public void setArranchamento(Arranchamento arranchamento) {
this.arranchamento = arranchamento;
}
public List<SelectItem> getCompanhiaItens() {
return companhiaItens;
}
public void setCompanhiaItens(List<SelectItem> companhiaItens) {
this.companhiaItens = companhiaItens;
}
public Companhia getCompanhiaSelecionada() {
return companhiaSelecionada;
}
public void setCompanhiaSelecionada(Companhia companhiaSelecionada) {
System.out.println(companhiaSelecionada);
this.companhiaSelecionada = companhiaSelecionada;
}
public Graduacao getGraduacao() {
return graduacao;
}
public void setGraduacao(Graduacao graduacao) {
this.graduacao = graduacao;
}
public List<SelectItem> getGraduacaoItens() {
return graduacaoItens;
}
public void setGraduacaoItens(List<SelectItem> graduacaoItens) {
this.graduacaoItens = graduacaoItens;
}
public Date getDataFaltas() {
return dataFaltas;
}
public void setDataFaltas(Date dataFaltas) {
this.dataFaltas = dataFaltas;
}
public Graduacao getGraduacaoSelecionada() {
return graduacaoSelecionada;
}
public void setGraduacaoSelecionada(Graduacao graduacaoSelecionada) {
System.out.println(gra);
this.graduacaoSelecionada = graduacaoSelecionada;
}
public DataModel getDataModel() {
return dataModel;
}
public void setDataModel(DataModel dataModel) {
this.dataModel = dataModel;
}
}
Alguem tem alguma ideia?