a4j:outputPanel rerender only once
akorud Apr 16, 2007 5:52 AMHi,
I have interesting problem - starting from second change of select list dataTable is not rerendered.
Backing value bean is changed acording to selected item (ajax request is fired every time), but getXXX() is not called.
Below is code and a4j debug log
<h:form id="frm_main">
<a4j:region renderRegionOnly="false">
<t:selectOneMenu value="#{bNewUnitPage.newUnit.unitType}" id="newType" forceId="true">
<f:selectItems value="#{bNewUnitPage.unitTypes}" />
<a4j:support event="onchange" />
</t:selectOneMenu>
</a4j:region>
<a4j:outputPanel ajaxRendered="true">
<t:dataTable id="unitParams"
value="#{bNewUnitPage.newUnitParams.params}" var="p">
<t:column>
<h:outputText value="#{p.label}" style="#{p.style}" />
</t:column>
<t:column>
<h:outputText value="#{p.value}" rendered="#{p.readonly && !p.checkbox}" />
<h:inputText value="#{p.value}" rendered="#{!p.readonly && !p.checkbox}" />
</t:column>
</t:dataTable>
</a4j:outputPanel>
<a4j:log popup="false" level="DEBUG"></a4j:log>
</h:form>
Start XmlHttpRequest
debug[11:38:59,243]: Reqest state : 1
debug[11:38:59,243]: QueryString: AJAXREQUEST=frm_main%3A_idJsp10&newType=1&newIdent=&
frm_main%3AunitParams%3A0%3A_idJsp22=true&frm_main_SUBMIT=1
&frm_main%3A_idcl=&frm_main%3A_link_hidden_=
&javax.faces.ViewState=rO0ABXVyABNbTGphdmEubGFuZy5PYmpl
Y3Q7kM5YnxBzKWwCAAB4cAAAAAN0AAEzcHQADC9uZXdVbml0Lmp
zcA%3D%3D&frm_main%3A_idJsp12=frm_main%3A_idJsp12&
debug[11:38:59,243]: Reqest state : 1
debug[11:38:59,352]: Reqest state : 2
debug[11:38:59,352]: Reqest state : 3
debug[11:38:59,352]: Reqest state : 4
debug[11:38:59,352]: Reqest end with state 4
debug[11:38:59,352]: Response with content-type: text/xml;charset=UTF-8
debug[11:38:59,352]: Full response content: <?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<base href="http://127.0.0.1:8080/gpec/" /><title></title>
<script type="text/javascript" src="/gpec/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf">
</script><meta name="Ajax-Update-Ids" content=""
/></head><body><span id="ajax-update-ids"><input type="hidden"
name="jsf_sequence" value="4" /><input type="hidden"
name="javax.faces.ViewState" id="javax.faces.ViewState" value="rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKW
wCAAB4cAAAAAN0AAE0cHQADC9uZXdVbml0LmpzcA=="
/></span><meta id="Ajax-Response" name="Ajax-Response"
content="true" /> <meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="public/styles.css" />
<link rel="stylesheet" type="text/css" href="public/basic.css" />
<!-- MYFACES JAVASCRIPT --> </body></html>
debug[11:38:59,352]: Header Ajax-Update-Ids not found, search in <meta>
debug[11:38:59,352]: search for elements by name 'meta' in element #document
debug[11:38:59,352]: getElementsByTagName found 4
debug[11:38:59,352]: Find <meta name='Ajax-Update-Ids' content=''>
warn[11:38:59,352]: No information in response about elements to replace
debug[11:38:59,352]: call getElementById for id= ajax-update-ids
debug[11:38:59,352]: Hidden JSF state fields: [object HTMLSpanElement]
debug[11:38:59,352]: search for elements by name 'input' in element span
debug[11:38:59,352]: getElementsByTagName found 2
debug[11:38:59,352]: Replace value for inputs: 7 by new values: 2
debug[11:38:59,352]: Input in response: jsf_sequence
debug[11:38:59,352]: Input in response: javax.faces.ViewState
debug[11:38:59,352]: Found same input on page with type: hidden
debug[11:38:59,352]: search for elements by name 'INPUT' in element span
debug[11:38:59,352]: getElementsByTagName found 0
debug[11:38:59,352]: Replace value for inputs: 7 by new values: 0