Como saber no JSF quando a página está sendo iniciada e quando é um postback ou não.
Pois tenho uma managed bean que está em session scope.
Coloquei no session para manter o estado do bean.
Mas quando eu entro na página através do link ele mostra os campos já preenchidos.
Gostaria de algum método no bean ou evento para limpar os campos.
Cara, tem um negocio que faz exatamente oq vc quer…
na verdade tem algumas solucoes pra isso. vc pode usar um PhaseListener pra ver as fases do ciclo de vida e entao fazer a acao que vc quer na fase apropriada…
se vc tiver usando ferramenta de desenvolvimento da IBM Rational Application Developer (ou outra versao), em cada pagina jé é colocada uma tag chamada scriptCollector onde tem um atributo chamado preRender, onde vc poe o binding com seu método.
Mas talvez a solucao mais apropriada seria vc ver o Struts Shale.
Nele além de vc poder acompanhar as fases no proprio managed bean, vc tem acesso a uma variavel boolean que diz se é postbak ou nao.
Espero que tenha ajudado.
Eu criei uma classe base para meus managed beans.
No construtor eu adiciono um listener (Phase Listener) que chama o metodo init() da classe base quando o bean é recuperado (restore view) e se não for um post.
Nas sub classes eu só implemeto esse método init.
Deu certo.