[jsr-314-open] f:ajax not working inside composite components?

Ryan Lubke Ryan.Lubke at SUN.COM
Tue May 12 21:00:29 EDT 2009


On 5/12/09 10:11 AM, Andy Schwartz wrote:
> Hi David -
>
> David Geary wrote On 5/12/2009 12:36 PM ET:
>>
>> <h:selectOneMenu id="menu"
>>                   value="#{place.zoomIndex}"
>>                   valueChangeListener="#{place.zoomChanged}"
>>                   style="font-size:13px;font-family:Palatino">
>>
>> <f:selectItems value="#{places.zoomLevelItems}"/>
>> *<f:ajax execute="@this" render="image"/>
>> *
>> </h:selectOneMenu>
>
> This looks good to me.
>>
>> With FireBug, I've verified that a POST request is indeed executed 
>> when I change the zoom level, and it appears that everything is in order:
>>
>> form    form
>> j_id-939329235_16ef8569:0:j_id-939329235_16ef8513:j_id1608935764_5fe6690f:menu    
>> 3
>> javax.faces.ViewState    -1363564553004911965:-1863826268811277742
>> javax.faces.behavior.event    valueChange
>> javax.faces.partial.ajax    true
>> javax.faces.partial.event    change
>> javax.faces.partial.execute    
>> j_id-939329235_16ef8569:0:j_id-939329235_16ef8513:j_id1608935764_5fe6690f:menu
>> javax.faces.partial.render    
>> j_id-939329235_16ef8569:0:j_id-939329235_16ef8513:j_id1608935764_5fe6690f:image
>> javax.faces.source    
>> j_id-939329235_16ef8569:0:j_id-939329235_16ef8513:j_id1608935764_5fe6690f:menu
>
> And the request payload looks right - seems like all of the necessary 
> information is present.  (Though, man, those auto-generated client ids 
> sure are huge!)
>
>>
>> I get a response back that looks like this:
>>
>> <?xml version="1.0" encoding="utf-8"?>
>> <partial-response><changes><update 
>> id="javax.faces.ViewState"><![CDATA[1747337848471748955:2683565346534242854
>>   ]]></update></changes></partial-response>
>>
>> However, with f:ajax, my value change listener is never invoked on 
>> the server, so the menu doesn't update, even though I've specified 
>> that the menu should go through the execute phase of the lifecycle.
>>
>> Does anyone know why my value change listener is not invoked? Am I 
>> doing something wrong, or is this a bug?
>
> Seems like the execute portion of the lifecycle is not being invoked 
> properly.  I don't see anything wrong in your code - so I suspect 
> there is a bug here.
>
It looks like the problem is with UIRepeat as it doesn't override 
visitTree() so when the post-back occurs, the component(s)
at index 0 aren't available as no iteration has occurred.

Hope to have this resolved tomorrow.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jsr-314-open-mirror/attachments/20090512/c667762c/attachment.html 


More information about the jsr-314-open-mirror mailing list