Bem simples, tenho se seguinte código:
...
<p:inputMask id="autoCompleteEnderecoCidadesCEP" value="#{cidadeMB.cidade.endereco.cep}" mask="99999-999" style="width: 80px;"/>
<p:commandButton actionListener="#{cepMB.consultaCEP()}" icon="ui-icon-search" title="Consulta nos correios e autopreenche"
update=":tabViewSistema:tabViewCadastro:formAddCidades:panelAddCidadesT3">
<f:setPropertyActionListener value="#{cidadeMB.cidade.endereco}" target="#{cepMB.endereco}"/>
</p:commandButton>
...
O que eu quero com isso? Quero preencher o endereço da Cidade que está no cidadeMB com o valor do endereço retornado por consultaCEP() só que quero usar assim, os dosi managed beans pra que fiquei reutilizável, tem como?
Obrigado a todos!
Bom dia amigo aparentemente o modelo proposto funcionário, você chegou a executar o teste, para verificar se funciona?
Em algum lugar de seu xhtml você seta o nome do Bean? tipo
Ou você poderia instanciar o Outro bean dentro do bean que você já possui e chamar seu método de lá.
augustovieira Não entendi como faço para pegar o bean como esse código… Tá correto essa tag aí? Sobre instanciar um dentro do outro isso é justamente o que não quero fazer… Valeu!
public static Object getBeanInSession(String ref) {
FacesContext facesContext = FacesContext.getCurrentInstance();
ELContext elContext = facesContext.getELContext();
ExpressionFactory factory = facesContext.getApplication().getExpressionFactory();
return factory.createValueExpression(elContext, "#{" + ref + "}",Object.class).getValue(elContext);
}
so chamar que voce pega o bean que ta na sessao, voce trabalhando ele com View ou session scope da certo
[/code]
BEAN meubean = (Cast pro seu bean) getBeanInSession(" NOME do bean");
[code]
A maioria dos exemplos que vejo na internet usam o mesmo bean, sendo que se eu tenho um bean cidadeMB e outro bean cepMB então eu queria usar o cepMB somente para passar um valor e ele retornar o valor que vai ser usado por outro bean (pelo bean cidade) na própria view, mais ou menos como passei no código.
Poderia esquecer essa idéia de criar outro managed bean apenas para tratar de ceps mas assim teria que criar um novo método em cada managed bean de entidade que queria usar na aplicação tipo cidade, endereço, etc… Será que seria a maneira mais correta? Não acho…