Olá meus caros, estou com dificuldade pare renderizar um combo da minha página xhtml, a tag <p:ajax> está chamando certinho o meu metodo carregando as cidades de acordo com o estado mas na hora de atualizar a combo aparece o erro de Null Pointer, não sei pq visto que o combo está preenchido, por favor se puderem me ajudar. segue o codigo da página.
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core">
<f:view contentType="text/html">
</f:view>
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="../estilos/padrao.css"/>
</h:head>
<h:body>
<h:form prependId="false">
<p:panel id="panel" header="Manutenção de Funcionário">
<table width="100%">
<tr>
<td align="left">
<p:commandButton value="Gravar" actionListener="#{funcionarioFrm.gravar}" update="msgs" />
</td>
<td align="right">
<p:commandButton value="Voltar" action="../funcionario/lista.faces" ajax="false"/>
</td>
</tr>
<tr>
<td>
<p:tabView effect="opacity" effectDuration="normal">
<p:tab title="Dados Pessoais">
<h:panelGrid columns="3">
<table>
<tr>
<td>
<h:outputText value="Nome:" />
<p:inputText value="#{funcionarioFrm.funcionario.funcionario.nome}" id="nome" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Telefone:" />
<p:inputMask mask="(99) 9999-9999" value="#{funcionarioFrm.funcionario.funcionario.telefone}" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Celular" />
<p:inputMask mask="(99) 9999-9999" value="#{funcionarioFrm.funcionario.funcionario.celular}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="Data Nasc." />
<p:calendar value="#{funcionarioFrm.data}" effect="explode" />
</td>
</tr>
<tr>
<td>
<h:outputText value="CPF:" />
<p:inputMask mask="999.999.999-99" value="#{funcionarioFrm.funcionario.funcionario.cpf}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="Situação:"/>
<h:selectOneMenu styleClass="select" id="situacao" value="#{funcionarioFrm.funcionario.funcionario.situacao}">
<f:selectItems value="#{funcionarioFrm.situacao}"/>
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>
<h:outputText value="Cargo:"/>
<h:selectOneMenu styleClass="select" id="cargo" value="#{funcionarioFrm.funcionario.funcionario.cargo}">
<f:selectItems value="#{funcionarioFrm.cargo}"/>
</h:selectOneMenu>
</td>
</tr>
</table>
</h:panelGrid>
</p:tab>
<p:tab title="Endereço">
<h:panelGrid columns="3">
<table>
<tr>
<td>
<h:outputText value="UF:" />
<h:selectOneMenu styleClass="select" id="uf" value="#{funcionarioFrm.funcionario.funcionario.municipio.estado.id}">
<f:selectItems value="#{funcionarioFrm.uf}" var="uf"/>
<p:ajax listener="#{funcionarioFrm.carregaCidades}"
event = "change"
update = "cidade,msgs,comboCidade"
/>
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>
<h:outputText value="Cidade:" />
<h:selectOneMenu disabled="#{funcionarioFrm.habilitaCidade}" styleClass="select" id="cidade" value="#{funcionarioFrm.funcionario.funcionario.municipio.id}">
<f:selectItems id="comboCidade" value="#{funcionarioFrm.municipio}"/>
</h:selectOneMenu>
</td>
</tr>
<tr>
<td>
<h:outputText value="Cep:" />
<p:inputMask mask="99999-999" value="#{funcionarioFrm.funcionario.funcionario.cep}" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Nº:" />
<p:inputText value="#{funcionarioFrm.funcionario.funcionario.numeroEndereco}"/>
</td>
</tr>
<tr>
<td>
<h:outputText value="Bairro:" />
<p:inputText value="#{funcionarioFrm.funcionario.funcionario.bairro}" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Logradouro:" />
<p:inputText value="#{funcionarioFrm.funcionario.funcionario.logradouro}" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Complemento:" />
<p:inputText value="#{funcionarioFrm.funcionario.funcionario.complemento}"/>
</td>
</tr>
</table>
</h:panelGrid>
</p:tab>
<p:tab title="Dados de Usuário">
<h:panelGrid columns="3">
<table>
<tr>
<td>
<h:outputText value="Login:" />
<p:inputText value="#{funcionarioFrm.funcionario.funcionario.usuario.login}" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Senha:" />
<p:password value="#{funcionarioFrm.funcionario.funcionario.usuario.senha}" feedback="true" minLength="6" />
</td>
</tr>
<tr>
<td>
<h:outputText value="Perfil:" />
<h:selectOneMenu styleClass="select" id="perfil" value="#{funcionarioFrm.funcionario.funcionario.usuario.perfil}">
<f:selectItems value="#{funcionarioFrm.perfil}"/>
</h:selectOneMenu>
</td>
</tr>
</table>
</h:panelGrid>
</p:tab>
</p:tabView>
</td>
</tr>
</table>
<!-- AREA DE MENSAGENS -->
<table width="100%">
<tr>
<td>
<fieldset>
<h:panelGroup id="erros">
<p:messages id="msgs" showDetail="true" globalOnly="true"/>
</h:panelGroup>
</fieldset>
</td>
</tr>
</table>
</p:panel>
</h:form>
</h:body>
</html>