[ 
https://issues.apache.org/jira/browse/MYFACES-4623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Andraschko resolved MYFACES-4623.
----------------------------------------
    Resolution: Fixed

> DuplicateIdException when adding component with resource in JSTL tag handler
> ----------------------------------------------------------------------------
>
>                 Key: MYFACES-4623
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4623
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 4.0.1
>            Reporter: Manuel K
>            Priority: Major
>             Fix For: 4.0.2, 4.1.0, 5.0.0
>
>
> The following error occurs when a JSF component adding a resource is added in 
> a JSTL tag handler:
> {code:java}
> org.apache.myfaces.view.facelets.compiler.DuplicateIdException: Component 
> with duplicate id "j_id__rd_5" found. The first component is {Component-Path 
> : [Class: jakarta.faces.component.UIViewRoot,ViewId: /test.xhtml][Class: 
> org.apache.myfaces.component.ComponentResourceContainer,Id: 
> jakarta_faces_location_head][Class: jakarta.faces.component.UIOutput,Id: 
> j_id__rd_5]}
>     at 
> org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.createAndQueueException(CheckDuplicateIdFaceletUtils.java:139)
>     at 
> org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:95)
>     at 
> org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:109)
>     at 
> org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:103)
>     at 
> org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:81)
>     at 
> org.apache.myfaces.view.facelets.PartialStateManagementStrategy.saveView(PartialStateManagementStrategy.java:701)
>     at 
> jakarta.faces.application.StateManager.getViewState(StateManager.java:147)
> [...]{code}
> In our example, the resource that is apparently added to the component tree 
> twice is _inputmask/inputmask.js_ of the _p:calendar_ component when using it 
> in a {_}c:forEach{_}.
> The error only happens if _STRICT_JSF_2_FACELETS_COMPATIBILITY_ is enabled, 
> but that is a requirement for our application. The error does not occur in 
> Mojarra.
> I would appreciate you looking into this, as it is a pretty big problem for 
> us. And before you ask: We're using c:forEach because in our application 
> changing from c:forEach/c:if to ui:repeat/ui:fragment would result in an 
> increase of components in the component tree by a factor of about 5 on some 
> sites.
> I could copy and paste more of the code here, but I think it's easier to just 
> look at the reproducer: 
> [https://github.com/mkomko/primefaces-test/tree/inputmask-duplicateid]
> The error occurs when opening the dialog using the button and then clicking 
> "Cancel".
> Thank you very much in advance!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to