Description
In JSF 2.2 spec there is a change related to UIViewRoot.createUniqueId(). The javadoc says this:
"... Generate an identifier for a component. The identifier will be prefixed with UNIQUE_ID_PREFIX, and will be unique within the non-NamingContainer child sub-trees of this UIViewRoot. ..."
Thinking in MYFACES-3660, this fact becomes more evident. I think we should not wait to 2.2 and instead implement this is 2.1.x/2.0.x branches because it will improve the stability of the component tree under dynamic addition/removal.
The suggested solution is do something like this:
j_id__v_1
j_id__v_2
j_id__v_3
j_id__v_4
....
This solution will keep ids small and will not cause any conflict with facelet created components or components that receive the ids through UniqueIdVendor/NamingContainer hierarchy:
j_id1
j_id2
j_id3
j_id4
Attachments
Issue Links
- is related to
-
MYFACES-3660 Component resource added using @ResourceDependency annotation from a facelet component should have an id defined by facelets
- Closed
- relates to
-
MYFACES-3721 Override of uniqueIdCounter for UIViewRoot in restoreView cause component duplicate id exception
- Closed
-
TOBAGO-1316 tx-taglib is broken with new createUniqueId() strategy from MyFaces (Facelets only)
- Closed