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.

Reply via email to