Tudo bem pessoa?
Pesquisei se tinha essa pergunta, mas só tinha pra pegar valores, e eu que setar.
Vamos lá:
Tenho um Phaselistener que consegue pegar via findComponent o componente que eu quero setar o valor. Isso acontece antes da fase RENDER RESPONSE.
A idéia seria que qdo a pagina aparecesse (apos renderizada a resposta) o componente viesse com o valor setado. Seria tipo um evento onLoadPage.
O engraçado é que, apesar de eu conseguir pegar o componente, dar um setvalue nele, ele não aparece com o valor setado. O mais engraçado ainda é que se eu clico no componente (depois que ele apareceu) setando um valor nele, o meu valuechangelistener submita o form e por isso o phaseListener, aí sim, seta o valor no componente.
Isso não é o que eu queria, eu queria que o componente já viesse com um valor setado por padrao.
Só a título de esclarecimento, eu não faço bind do componente, e nem gostaria de fazer, porque meu aplicativo é um questionário e tem 62 desses componentes. Eu tenho só um managedbean que controla tudo, e eu pego os valores dos componentes tudo via valuechangelistener e não via bind do value do componente.
Quero informar também que eu já uso o
“jsfExt.0.8.1.jar : Execute action on page load”
http://wiki.apache.org/myfaces/Execute_action_on_page_load
Que é uma coisa legal, o método roda mesmo quando a página entra, porém o problema não é rodar um método e sim fazer com que o componente que eu pego do FacesContext aparece com o valor que eu seto nele.
Era previsível esse comportamento do “sf-comp on-load” porque ele é um phase lister, e se comportou extamente igual ao meu phaselister (inclusive rodando em ANYPHASE).
DESCULPE ESCREVER MUITO, POR FAVOR ME DÊEM UMA FORÇA!