users@jsf-extensions.java.net

Problems with DynaFaces.fireAjaxTransaction

From: Scott <jackett_dad_at_yahoo.com>
Date: Wed, 3 Oct 2007 04:44:28 -0700 (PDT)

I've been quite successful in creating a JSF application (1.2) using the jsf extensions to dynamically call and render portions of my jsf pages. So far so good. But I am having trouble on one of my pages. My navigation bar works just as it should, bringing me to various places in my application. Each link refreshes the entire page. I have narrowed my issue to the moment after I fire a dynamic ajax transaction, that thereafter, my navigation renders a only a portion of the page I am leaving from. The page renders a Dojo notebook, and the DynaFaces transaction updates a portion of the notebook page. When I try to navigate away from the whole page althogether, instead of going away, the JSF servlet returns the notebook page as the whole page without the surrounding notebook, and the page elements surrounding the notebook. Something in the DynaFaces request has caused the servlet to go into a partial state. This is an example of a control that causes this problem. I have two other examples from other tab panes that cause the exact same problem to occur, but this is just one: <h:selectOneListbox id="groupListBox" value="#{groupsBean.selectedGroup}" style="width:275px;height:309px" valueChangeListener="#{groupsBean.groupSelected}" onchange="DynaFaces.fireAjaxTransaction(this, { execute: 'groupListBox', render: 'selectedGroupName', immediate: true}); return false;" <f:selectItems value="#{groupsBean.groupItems}" /> </h:selectOneListbox> This is calling a ValueChangeListener in the groupsBean, then rendering a portion of the page in response. It works too, only that after calling this once, my navigation is ruined. This even has its own form. The form I'm posting with for navigation is a different one, but I feel that this call must be affecting what is posted and how by the other form. I've looked at the http headers when navigation works and after the DynaFaces call when it no longer works. I can't see any difference. This is a pretty major bug ( in my code I'm assuming, of course ). Thanks in advance for any help you can give, Scott