webtier@glassfish.java.net

Re: Exception with AJAX in latest Snapshot causes render="" failure

From: Jim Driscoll <Jim.Driscoll_at_Sun.COM>
Date: Wed, 23 Sep 2009 17:11:57 -0700

Lincoln =-

We're a little slammed here right now: Could I ask you to file these
sorts of reports as bugs? Otherwise, the dev team has to take the time
to file them as bugs anyway, since we need to have bugs associated with
all major putbacks at this point.

(Also, when reporting bugs like this, small examples that illustrate the
problem are tremendously helpful.)

Jim

P.S. I talked with Ryan, and he'll look at it. He redid compcomp
recently, and that may have something to do with it. Or not - I can't
tell without an example, though Ryan seems to have understood what was
going on already.

On 9/23/09 2:04 PM, Lincoln Baxter, III wrote:
> Following up. It looks like this was introduced on or before b18,
> September 18th.
>
> On Wed, 2009-09-23 at 12:38 -0400, Lincoln Baxter, III wrote:
>> *I noticed a new exception in the latest snapshot:*
>>
>> This appears to occur in a composite component containing an
>> ajax-ified composite component. When the ajax-ified composite
>> component is used directly in the page markup (e.g: not nested in
>> another cc,) things work normally.
>>
>> *Details (in order of event):*
>>
>> 1. Page loads via HTTP GET
>> 2. Trigger ajax event with attached action listener (embedded in
>> composite component)
>> 3. Action listener fires successfully
>> 4. ??? EL fails to resolve composite component for re-render -- see
>> exception below ???
>> 5. Page-render never occurs
>> 6. AJAX events on page no longer function, and cause a page refresh
>> instead of AJAX update
>> 7. Once page has refreshed, ajax events will function until error
>> is encountered again.
>>
>>
>> *My Questions:*
>>
>> 1. Why is JSF attempting to use the EL method supplied in my
>> actionListener in order to resolve the composite component?
>> 2. Why do new AJAX calls fail, causing a page-refresh?
>>
>>
>> *Caused by: javax.faces.FacesException: Unable to resolve composite
>> component from using page using EL expression*
>> '#{storyController.removeValidation(cc.attrs.story, cc.attrs.validation)}'
>> at
>> com.sun.faces.facelets.tag.TagAttributeImpl$AttributeLookupMethodExpression.invoke(TagAttributeImpl.java:424)
>> at
>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
>> at
>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
>> at javax.faces.component.UICommand.broadcast(UICommand.java:315)
>> at com.sun.faces.facelets.component.UIRepeat.broadcast(UIRepeat.java:857)
>> at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:774)
>> at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:942)
>> at
>> com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
>> ... 97 more
>>
>> --
>> *Lincoln Baxter, III*
>> Co-Founder of OcpSoft <http://ocpsoft.com>
>>
>> Creator of:
>> PrettyFaces <http://ocpsoft.com/prettyfaces>: URL rewriting for JSF
>> PrettyTime <http://ocpsoft.com/prettytime>: Java elapsed timestamp
>> formatting
>>
>>
>>
> --
> *Lincoln Baxter, III*
> Co-Founder of OcpSoft <http://ocpsoft.com>
>
> Creator of:
> PrettyFaces <http://ocpsoft.com/prettyfaces>: URL rewriting for JSF
> PrettyTime <http://ocpsoft.com/prettytime>: Java elapsed timestamp
> formatting
>
>