[ 
https://issues.apache.org/jira/browse/MYFACES-4182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16295122#comment-16295122
 ] 

Thomas Andraschko commented on MYFACES-4182:
--------------------------------------------

I see. I would close it as won't fix as this is not really expected to work. 
Not sure why it worked in MyFaces 2.2 then.

> javax.faces.component.search.ComponentNotFoundException
> -------------------------------------------------------
>
>                 Key: MYFACES-4182
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4182
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-372
>    Affects Versions: 2.3.0-beta
>            Reporter: Paul Nicolucci
>         Attachments: TestApp.war
>
>
> I noticed a behavior difference when using a composite component and ajax 
> between jsf 2.3 and jsf 2.2. I've attached a test application that reproduces.
> *JSF 2.2 Behavior when form prependId=false:*
> 1 )If we reference the outputText id in the render attribute with the form id 
> prepended then the page is successfully rendered (testpage1.jsf)
> 2) If we reference the outputText id without the form id prepended we get the 
> following failure (testpage2.jsf) when requesting the page:
> {code:java}
> javax.faces.FacesException: Component with id:output2 not found
>       at 
> org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer.getComponentId(HtmlAjaxBehaviorRenderer.java:505)
>       at 
> org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer.build(HtmlAjaxBehaviorRenderer.java:467)
>       at 
> org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer.mapToString(HtmlAjaxBehaviorRenderer.java:439)
>       at 
> org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer.makeAjax(HtmlAjaxBehaviorRenderer.java:158)
>       at 
> org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer.getScript(HtmlAjaxBehaviorRenderer.java:102)
>       at 
> javax.faces.component.behavior.ClientBehaviorBase.getScript(ClientBehaviorBase.java:101)
>       at 
> org.apache.myfaces.shared.renderkit.html.CommonEventUtils.renderBehaviorizedAttribute(CommonEventUtils.java:188)
>       at 
> org.apache.myfaces.shared.renderkit.html.CommonEventUtils.renderBehaviorizedAttribute(CommonEventUtils.java:120)
>       at 
> org.apache.myfaces.shared.renderkit.html.CommonEventUtils.renderBehaviorizedEventHandlers(CommonEventUtils.java:283)
>       at 
> org.apache.myfaces.shared.renderkit.html.CommonEventUtils.renderBehaviorizedEventHandlers(CommonEventUtils.java:202)
>  
> {code}
> *JSF 2.3 Behavior when form preprendId=false:*
> 1) If we reference the outputText id in the render attribute with the form id 
> prepended then we get the following failure (testpage1.jsf) when requesting 
> the page:
> {code:java}
> Cannot find component for expression "testForm:output2" referenced from 
> "input1:input".
> viewId=/testpage1.xhtml
> location=C:\libertyGit\libertycdopen\WS-CD-Open\dev\build.image\wlp\usr\servers\test1\apps\expanded\TestApp.war\testpage1.xhtml
> phaseId=RENDER_RESPONSE(6)
> Caused by:
> javax.faces.component.search.ComponentNotFoundException - Cannot find 
> component for expression "testForm:output2" referenced from "input1:input".
> at 
> org.apache.myfaces.component.search.SearchExpressionHandlerImpl.resolveClientId(SearchExpressionHandlerImpl.java:104)
> {code}
> 2) If we reference the outputText id without the form id prepended then the 
> page is successfully rendered (testpage2.jsf)
> The behavior between jsf 2.2 and jsf 2.3 is reverse, in jsf 2.3 we do not 
> work with the prepended form id and in jsf 2.2 we require the prepended form 
> id. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to