[
https://issues.apache.org/jira/browse/MYFACES-2428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12784042#action_12784042
]
Leonardo Uribe commented on MYFACES-2428:
-----------------------------------------
I committed an alternate solution for that effect. Since h:outputScript and
h:outputStylesheed will be relocated, it is responsibility from the listener
that relocates check for that condition and set the id properly.
> Id generation for facelets cause problems with htmlunit 2.4 or lower
> --------------------------------------------------------------------
>
> Key: MYFACES-2428
> URL: https://issues.apache.org/jira/browse/MYFACES-2428
> Project: MyFaces Core
> Issue Type: Task
> Components: JSR-314
> Reporter: Leonardo Uribe
> Assignee: Leonardo Uribe
>
> The id generation strategy is critical to allow partial state saving works
> correctly, because all component state is saved on a map, and the clientId is
> the primary key for it.
> Actually, we just pass the facelet generated id for each tag as a seed for
> UniqueIdVendor.createUniqueId(FacesContext context, java.lang.String seed),
> This id cause an exception in htmlunit version 2.4 or lower (in 2.5 this was
> fixed).
> The objective of UniqueIdVendor interface is reduce the variation when ids
> are generated. The ideal case is that for any facelet page the generated ids
> assigned to components should remain the same no matter if the model changes
> by some reason.
> The problem starts when it is used <c:forEach> or <c:if> tags, because its
> behavior depends on the "model" state in a point of the time. The id
> generated by facelets is depends on the facelet "alias" page name, a counter
> id from CompilationManager.
> We need to do multiple tests for worst case scenarios, and try to define an
> strategy to reduce the variability of ids, providing proper "seeds" for it.
> Suggestions are welcome
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.