I think your problem is that you are opening the window with an *onclick* javascript even. This has nothing to do with the JSF lifecycle. The regular commandLink approach (without using onclick) works because you post back (via a form) to the same page. In your case you are just opening the page in a new window. How would JSF know the new values from that?
sean On 7/21/05, Clément Maignien <[EMAIL PROTECTED]> wrote: > > > > Here is the situation : > > I have a JSF page (result.jsp) with dataTable component with a commandLink > in one of his columns. > > When clicking on this commandLink, I would like to open a popup window > (detailStockInv.jsp) to display detail informations about the line that has > been clicked. > > Here is the code I wrote : > > <x:dataTable id="stockdatatable" rowIndexVar="numRow" > > ... > > <h:column> ... </h:column> > > ... > > <h:column> > > <f:facet name="header"> > > <h:outputText value="#{res['stock_Etat_Visu_Stockinv']}" /> > > </f:facet> > > <h:commandLink styleClass="linkRed" > actionListener="#{stockBean.updateDetailStock} > > > onclick="window.open('detailStockInv.jsp','','width=700,height=400,top=100,left=100')"> > > > > <h:outputText value="#{stock.stockInv}"/> > > <f:param name="numLineClicked" value="#{numRow}"/> > > </h:commandLink> > > </h:column> > > ... > > </x:dataTable> > > > > I've put an actionListener to update datas (a bean property) that are > displayed in the popup page (detailStockInv.jsp) in a dataTable component. > > > > My popup is opened and displayed when I click one of the commandLink of my > results dataTable, but the problem is that the bean values that are read by > my popup page are the previous ones : the first time I click a commandLink, > the values displayed by the popup are not the ones updated by my > actionListener but the initial ones (inited in the bean constructor). The > second time I click a commandLink, the values of the line I cliked before > are displayed. > > > > In my opinion, the popup is displayed before the update model value phase of > the JSF life cycle occurs. As a consequence, the previous bean values are > displayed in my popup page. > > To confirm that, I tried not to display this page in a popup, but in the > same window (normal flow) with the action property of the commandLink : > > <h:commandLink styleClass="linkRed" action="#{stockBean.showDetailAction}" > > <h:outputText value="#{stock.stockInv}"/> > > <f:param name="numLigneClicked" value="#{numRow}"/> > > </h:commandLink> > > > > The showDetailAction action and the updateDetailStock actionListener are > doing exactly the same work (updating the detail values of my bean), except > that it return a navigation result to display the detailStockInv.jsp page > > In this way, the values that are displayed in the detailStockInv.jsp are the > good ones (the bean's ones). > > > > Is there a way to force the update value phase before the popup is displayed > ? Maybe the way I call the popup isn't the right one ... don't know. > > > > Please help, thanks :D > > > > Clément Maignien. > > > > > > > > > > > >