Hello everybody I am new to this forum and new to MyFaces.
I have created the following JSF page: <h:selectOneMenu id="vertragid" required="true" value="#{rufnummerEditBean.vertragid}" onchange="submit()" immediate="true" valueChangeListener="#{rufnummerEditBean.changeVertragid}"> <f:selectItems value="#{rufnummerEditBean.vertragidList}"/> </h:selectOneMenu> <h:selectOneMenu id="tarifid" required="true" value="#{rufnummerEditBean.tarifid}" onchange="submit()" immediate="true" valueChangeListener="#{rufnummerEditBean.changeTarifid}"> <f:selectItems value="#{rufnummerEditBean.tarifidList}"/> </h:selectOneMenu> The associated code is: public List getVertragidList() { if(debugInfo) System.out.println("getVertragidList.1"); List result=new ArrayList(); for(Vertrag vertrag:vertragDAO.findAll()) { result.add(new SelectItem( vertrag.getId(),vertrag.getBezeichnung()) ); } if(debugInfo) System.out.println("getVertragidList.2"); return result; } public void changeVertragid(ValueChangeEvent event) { Integer newval=(Integer)(event.getNewValue()); if(debugInfo) System.out.println("changeVertragid "+newval); setVertragid(newval); List listTarifs=getTarifidList(); if(listTarifs.isEmpty()) setTarifid(null); else setTarifid((Integer)(listTarifs.get(0).getValue())); } public Integer getVertragid() { if(debugInfo) System.out.println("getVertragid "+vertragid); return vertragid; } public void setVertragid(Integer vertragid) { if(debugInfo) System.out.println("setVertragid "+vertragid); this.vertragid = vertragid; } public Integer getTarifid() { if(debugInfo) System.out.println("getTarifid "+tarifid); return tarifid; } private void setTarifid(Integer tarifid) { if(debugInfo) System.out.println("setTarifid "+tarifid); this.tarifid = tarifid; } When I choose some value in the combo box Vertragid, the following messages are logged: 13:22:13,203 INFO [STDOUT] getVertragidList.1 13:22:13,437 INFO [STDOUT] getVertragidList.2 13:22:13,437 INFO [STDOUT] getVertragid 470 13:22:13,453 INFO [STDOUT] getTarifidList.1 vertragid=470 13:22:13,796 INFO [STDOUT] getTarifidList.2 size=1 13:22:13,796 INFO [STDOUT] getTarifid 10000460 13:22:13,796 INFO [STDOUT] changeVertragid 10000000 13:22:13,796 INFO [STDOUT] setVertragid 10000000 13:22:13,796 INFO [STDOUT] getTarifidList.1 vertragid=10000000 13:22:14,093 INFO [STDOUT] getTarifidList.2 size=1 13:22:14,093 INFO [STDOUT] setTarifid 10000450 13:22:17,296 INFO [STDOUT] getVertragidList.1 13:22:17,515 INFO [STDOUT] getVertragidList.2 13:22:17,687 INFO [STDOUT] getTarifidList.1 vertragid=10000000 13:22:18,031 INFO [STDOUT] getTarifidList.2 size=1 In other words, the MyFaces engine first gets the value of tarifid, then calls the valueChangeListener -changeVertragid- (which in this case modifies the value of tarifid), then gets the new value of tarifid no more. It is the first time I see such strange behaviour. Is this the expected behaviour? Regards, RaduDumi View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3953970#3953970 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3953970 Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user