Dobre poledne,
mockrat dekuji,
udelal jsem kombinaci 2,3
Zasadni problem u me byl ze pokud se nepovede na 1 prvku ve formulari
validace, nejde se do apply requested value a to ani s priznakem
immediately a pak to dopadne ze se mi hidden fieldy nenactou...
Pro dalsi generace (workaround nacteni casti formulare ikdyz cely neni
validni):
@PostConstruct
public void loadParam() {
//testovani - vyjede vsechny zaslane parametry
// Map<String, String> m =
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
// for (Iterator<Map.Entry<String, String>> it =
m.entrySet().iterator(); it.hasNext();) {
// Map.Entry pairs = it.next();
// log.info("DATA:\t" + pairs.getKey() + "\t" +
pairs.getValue());
// }
// log.info("tak nam z toho vylezlo..... #" + id + "#");
Integer id =
Integer.parseInt(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("formID:polozkaVeForm"));
setId(id);
}
PP
On 07/11/2010 09:56 PM, Pavel Savara wrote:
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
<mailto: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 <http://log.info>("public String persist(){ ~~~ <-"+data);
return null;
}
public String getData() {
log.info <http://log.info>("public String getData() { ->" +data);
return data;
}
public void setData(String data) {
log.info <http://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 <mailto:petrprik...@centrum.cz>
prik...@admin24.cz <mailto:prik...@admin24.cz>
www.admin24.cz <http://www.admin24.cz>
--
Petr Prikryl
-----------------------
petrprik...@centrum.cz
prik...@admin24.cz
www.admin24.cz