You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2009/12/01 05:10:21 UTC

[jira] Commented: (MYFACES-2428) Id generation for facelets cause problems with htmlunit 2.4 or lower

    [ 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.