Dobry vecer, JSF vola get methody behem life cycle nekolikrat a nejde to nejak ovlivnit je to primo ve specifikaci, v zacatku requestu typicky pro restore view a validation. V get metodach by tedy nemel byt zadny narocny kod. V postate mate nekolik moznosti jak to vyresit:
- mit vasi beanu v session scope (conversation scope) aby jste si nemusel ten param posilat v hidden field ale zustal vam v beane pokud to jde - zmenit vas kod aby nedaval nullPointer exception ale choval se pekne asi nejlepsi reseni. Treba nejaka default hodnota? - Pokud nutne potrebujete nastavit nejake parametry jeste pred tim nez JSF zacne volat get methody tak muzete vyuzit PostConstruct anotace (metody) , ktera se zavola hned po inializaci a v ni nastavit co potrebujete, pripadne vytahnou z requestu co potrebujete.... Pavel 2010/7/11 Petr Prikryl <peter.prik...@gmail.com> > Dobry vecer, > z jakeho duvodu se mi vola GET metody jeste pred render response, kde bych > to nejvic cekal? (jde o RequestScoped) > > INFO c.a.e.view.vysetreni.Test - public String getData() { ->null > //Proc tak brzo co to je za fazi??? > INFO c.a.e.view.vysetreni.Test - public void setData(String data) {<-hhhh > INFO c.a.e.view.vysetreni.Test - public String persist(){ ~~~ <-hhhh > INFO c.a.e.view.vysetreni.Test - public String getData() { ->hhhh > INFO c.a.e.view.vysetreni.Test - public String getData() { ->hhhh > > .xhtml > <h:form> > <h:inputText id="data" value="#{test.data}" required="true"/> > <h:commandButton action="#{test.persist}" value="Ulozit"/> > </h:form> > > .java > > public String persist(){ > log.info("public String persist(){ ~~~ <-"+data); > return null; > } > public String getData() { > log.info("public String getData() { ->" +data); > return data; > } > > public void setData(String data) { > log.info("public void setData(String data) {<-"+data); > this.data = data; > } > > Teoreticky to muze byt restore view ale moc mi to hlava nebere.... > > A proc se ptam? > Volam formular s parametry v GET. > Prijimam je ve formulari > <f:metadata> > <f:viewParam ..... a hend ej v nem pouzivam > > avsak pokud je formular spatne vyplnentak ze zavola bez GET parametru, z > cehoz vznikne nullpointer u me v kodu. > > zkusil jsme to obejit pomoci hidden fieldu, pres ktery to jde avsak problem > je v tom ze se pred nactenim dat z hiddenfieldu z nejakeho duvodu volaji > gettery.... > > Delam neco spatne? > > Bohuzel <h:commandbutton nepodporuje <f:param, kterym bych do nej dostal > parametry a "action" JSF nedovoli definovat... > Immediate nepomaha. > > Proc se vola getter tolikrat neda se to nejak eliminovat pripadne detekovat > ve kterem state se vola? > > > Dekuji > PP > > > > > > > -- > Petr Prikryl > ----------------------- > petrprik...@centrum.cz > prik...@admin24.cz > www.admin24.cz > >