Bom dia,
Estou usando JSF primefaces.
Tenho um cadastro de eventos e para facilitar coloquei dentro de um wizard. A primeira etapa tenho um cadastro geral, na segunda tenho o cadastro do local, nesta etapa tenho um autocomplete. O problema é se não preecher o local e voltar para a etapa anterior, quando volto para local, aparece um NULL no autocomplete.
Alguém já passou por isso?
<h:form prependId="false" id="dataForm" acceptcharset="ISO-8859-1">
<p:messages id="messages" />
<p:wizard widgetVar="wiz" flowListener="#{eventoBean.onFlowProcess}"
nextLabel="Próximo" backLabel="Anterior" step="geral" id="idWizard">
<p:tab id="geral" title="Geral">
<p:panel>
<h:outputText
value="Aqui você deve passar informações gerais sobre o evento." />
</p:panel>
<p:panel id="data">
<p:focus context="infGeraisPanelGrid" />
<h:panelGrid id="infGeraisPanelGrid"
columns="#{eventoBean.usuario.ajuda ? 5 : 4}" styleClass="dialog">
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('TITULO')}"
value="" />
<h:outputText id="tituloCreateOutput"
value="#{messages.evento_cadastro_titulo}" />
<p:inputText id="tituloCreateInput"
label="#{messages.evento_cadastro_titulo_label}"
value="#{eventoBean.evento.titulo}" required="true" size="50"
maxlength="250" requiredMessage="Informe o Titulo do evento.">
<p:focus for="tituloCreateInput" />
</p:inputText>
<p:tooltip for="tituloCreateInput"
value="Título do evento. Este campo deve conter no máximo 50 caracteres."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="tituloCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('DESCRICAO')}"
value="" />
<h:outputText id="descricaoCreateOutput" value="Descrição: *" />
<p:inputTextarea id="descricaoCreateInput"
value="#{eventoBean.evento.descricao}" required="true"
requiredMessage="Informe uma descrição deste evento." cols="70"
rows="4" />
<p:tooltip for="descricaoCreateInput" value="Descrição do evento"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="descricaoCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('PROGRAMACAO')}"
value="" />
<h:outputText id="programacaoCreateOutput"
value="#{messages.evento_cadastro_programacao}" />
<p:inputTextarea id="programacaoCreateInput"
label="#{messages.evento_cadastro_programacao_label}"
value="#{eventoBean.evento.programacao}" rows="4" cols="70" />
<p:tooltip for="programacaoCreateInput"
value="Programação - Atrações do evento. Informe todas as Atrações do evento nesse campo."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="programacaoCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('INGRESSO')}"
value="" />
<h:outputText id="ingressoCreateOutput"
value="#{messages.evento_cadastro_ingresso}" />
<p:inputTextarea id="ingressoCreateInput"
label="#{messages.evento_cadastro_ingresso_label}"
value="#{eventoBean.evento.ingresso}" required="true" rows="4"
cols="70" requiredMessage="Informe o valor do ingresso." />
<p:tooltip for="ingressoCreateInput"
value="Informe o valor do ingresso."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="ingressoCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('DATA_EVENTO')}"
value="" />
<h:outputText id="dataEventoCreateOutput"
value="#{messages.evento_cadastro_data_hora}" />
<p:calendar id="dataEventoCreateInput"
label="#{messages.evento_cadastro_data_hora_label}"
value="#{eventoBean.evento.dataEvento}" required="true"
pattern="dd/MM/yyyy HH:mm"
requiredMessage="Informe a data do evento">
<p:ajax event="blur" listener="#{eventoBean.handleDataEvento}"
update="messages" />
</p:calendar>
<p:tooltip for="dataEventoCreateInput"
value="Data e Hora do evento."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="dataEventoCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('DATA_PUBLICACAO')}"
value="" />
<h:outputText id="dataPublicacaoCreateOutput"
value="Data Publicação" />
<p:calendar id="dataPublicacaoCreateInput"
value="#{eventoBean.evento.dataPublicacao}"
pattern="dd/MM/yyyy HH:mm" required="true"
requiredMessage="Informe a data da publicação">
<p:ajax event="blur"
listener="#{eventoBean.handleDataPublicacao}" update="messages" />
</p:calendar>
<p:tooltip for="dataPublicacaoCreateInput"
value="Data e Hora para inciar a publicação."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="dataPublicacaoCreateInput"
id="dataPublicacaoMessage" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('FACEBOOK')}"
value="" />
<h:outputText id="facebookCreateOutput"
value="#{messages.evento_cadastro_facebook}" />
<p:selectBooleanCheckbox id="facebookCreateInput"
label="#{messages.evento_cadastro_facebook_label}"
value="#{eventoBean.evento.facebook}" required="true" />
<p:tooltip for="facebookCreateInput"
value="Deseja publicar no facebook?"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="facebookCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('TWITTER')}"
value="" />
<h:outputText id="twitterCreateOutput"
value="#{messages.evento_cadastro_twitter}" />
<p:selectBooleanCheckbox id="twitterCreateInput"
label="#{messages.evento_cadastro_twitter_label}"
value="#{eventoBean.evento.twitter}" required="true" />
<p:tooltip for="twitterCreateInput"
value="Deseja publicar no twitter?"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="twitterCreateInput" />
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab id="infLocal" title="Local">
<p:panel>
<h:outputText value="Local onde ocorrerá o evento. " />
</p:panel>
<p:panel>
<p:panelGrid id="infEventoPanelGrid"
columns="#{eventoBean.usuario.ajuda ? 5 : 4}" styleClass="dialog">
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('LOCAL')}"
value="" />
<h:outputText id="localCreateOutput"
value="#{messages.evento_cadastro_local}" />
<p:autoComplete id="localCreateAutoComplete"
value="#{eventoBean.evento.local}"
completeMethod="#{eventoBean.autoComplete}"
requiredMessage="Informe o local do evento!"
converter="localConverter" required="true" size="40"
minQueryLength="3" var="local" itemLabel="#{local.local}"
itemValue="#{local}" maxlength="100">
<p:ajax event="blur"
update="cepCreateInput,numeroCreateInput,enderecoCreateInput,bairroCreateInput,cidadeCreateInput,telefone1CreateInput,telefone2CreateInput" />
</p:autoComplete>
<p:tooltip for="localCreateAutoComplete"
value="Informe o nome do local onde acorerá o evento."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="localCreateAutoComplete" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('CEP')}" value="" />
<h:outputText id="cepCreateOutput"
value="#{messages.evento_cadastro_cep}" />
<p:inputMask id="cepCreateInput"
label="#{messages.evento_cadastro_cep_label}"
value="#{eventoBean.evento.local.cep}" required="true"
mask="99999-999" requiredMessage="Informe o CEP.">
<p:ajax event="blur" listener="#{eventoBean.handleCepChange}"
update="mapaGoogle,numeroCreateInput,enderecoCreateInput,bairroCreateInput,cidadeCreateInput,telefone1CreateInput,telefone2CreateInput" />
</p:inputMask>
<p:tooltip for="cepCreateInput"
value="Informe o CEP, se for um CEP valido o endereço será preenchido."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="cepCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('ENDERECO')}"
value="" />
<h:outputText id="enderecoCreateOutput"
value="#{messages.evento_cadastro_endereco}" />
<p:inputText id="enderecoCreateInput"
label="#{messages.evento_cadastro_endereco_label}"
value="#{eventoBean.evento.local.endereco}" required="true"
size="50" maxlength="250"
requiredMessage="Informe o Endereço do evento!" />
<p:tooltip for="enderecoCreateInput"
value="Endereço do local do evento."
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="enderecoCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('NUMERO')}"
value="" />
<h:outputText id="numeroCreateOutput"
value="#{messages.evento_cadastro_numero}" />
<p:inputText id="numeroCreateInput"
label="#{messages.evento_cadastro_numero_label}"
value="#{eventoBean.evento.local.numero}" required="true"
requiredMessage="Informe o número!">
<p:ajax event="blur" listener="#{eventoBean.handleGoogleMap}"
update="mapaGoogle" />
</p:inputText>
<p:tooltip for="numeroCreateInput" value="Número"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="numeroCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('BAIRRO')}"
value="" />
<h:outputText id="bairroCreateOutput"
value="#{messages.evento_cadastro_bairro}" />
<p:inputText id="bairroCreateInput"
label="#{messages.evento_cadastro_bairro_label}"
value="#{eventoBean.evento.local.bairro}" size="40"
maxlength="50" />
<p:tooltip for="bairroCreateInput" value="Bairro"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="bairroCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('CIDADE')}"
value="" />
<h:outputText id="cidadeCreateOutput" value="Cidade: *" />
<p:inputText id="cidadeCreateInput" size="40" maxlength="75"
value="#{eventoBean.evento.local.cidade}" required="true"
requiredMessage="Informe o nome da cidade!">
</p:inputText>
<p:tooltip for="cidadeCreateInput" value="Cidade"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="cidadeCreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('TELEFONE1')}"
value="" />
<h:outputText id="telefone1CreateOutput" value="Telefone 2:" />
<p:inputMask id="telefone1CreateInput"
value="#{eventoBean.evento.local.telefone1}"
mask="(99) 9999-9999?9" />
<p:tooltip for="telefone1CreateInput" value="Número de telefone"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="telefone1CreateInput" />
<h:outputText
rendered="#{eventoNotificacaoBean.isNotificado('TELEFONE2')}"
value="" />
<h:outputText id="telefone2CreateOutput" value="Telefone 2:" />
<p:inputMask id="telefone2CreateInput"
value="#{eventoBean.evento.local.telefone2}"
mask="(99) 9999-9999?9" />
<p:tooltip for="telefone2CreateInput"
value="Segundo número de telefone"
rendered="#{eventoBean.usuario.ajuda}" />
<p:message for="telefone2CreateInput" />
</p:panelGrid>
</p:panel>
</p:tab>
continua.
O problema é que ao avançar para a proxima aba( aba local ) e retorna ( para aba geral ) em seguida avançar para a aba local. Sem setar o autocomplete, aparece nele o nome null.