Galera, implementei uma lógica para capturar o valor selecionado num <p:selectOneMenu...
(descrição) e atribuir num <p:inputText...
porém o <p:inputText...
somente está sendo atualizado na PRIMEIRA mudança do <p:selectOneMenu...
, a partir da segunda ou demais alterações o <p:inputText...
permanece com o antigo valor. E pelo que pude perceber o processamento no servidor só ocorre na PRIMEIRA requisição. Alguém poderia ajudar?
<p:outputLabel value="Descrição:" for="textDescricao" title="Descrição"/>
<h:panelGroup>
<p:inputText id="textDescricao" value="#{servicosManagedBean.servico.descricao}"
required="true" disabled="true"
requiredMessage="Informações Gerais: Preencha o campo Descrição"
size="80" maxlength="100" title="#{servicosManagedBean.servico.descricao}">
<pe:keyFilter regEx="/[a-z0-9_ ]/i"/>
</p:inputText>
<p:watermark for="textDescricao"
value="A Descrição será preenchida ao selecionar o Serviço Oficial"
id="watermarkDescricao"/>
</h:panelGroup>
<p:outputLabel value="Serviço Oficial:" for="selectServicoOficial"/>
<p:selectOneMenu id="selectServicoOficial" value="#{servicosManagedBean.servico.servicoOficial}"
converter="#{servicoOficialConverter}" required="true"
requiredMessage="Informações Gerais: Escolha o Serviço Oficial"
disabled="#{not empty servicosManagedBean.servico.servicoOficial}"
title="#{servicosManagedBean.servico.servicoOficial.descricao1}"
filter="true" filterMatchMode="contains">
<f:selectItem itemValue="#{null}" itemLabel="Escolher Serviço Oficial..."
noSelectionOption="true"/>
<f:selectItems value="#{servicosManagedBean.servicosOficiais}" var="servicoOficial"
itemLabel="#{servicoOficial.codigo} - #{servicoOficial.descricao1}"
itemValue="#{servicoOficial}"/>
<p:column>
<h:outputText value="#{servicoOficial.descricao1}"/>
</p:column>
<p:ajax event="change" process="tabViewDetailServico:selectServicoOficial"
update="tabViewDetailServico:textDescricao" global="false"
listener="#{servicosManagedBean.preencherDescricaoServico}"/>
</p:selectOneMenu>
public void preencherDescricaoServico() {
this.getServico().setDescricao(this.getServico().getServicoOficial().getDescricao1());
}