> Actually, there *is* an important server side use of the clientId
> value -- it also becomes the name of the request parameter used to
> decode the values of submitted input fields.  Indeed, this is why the
> decode and encode functionality was merged into a single API
> (Renderer) -- only the code that emits the "id" attribute knows what
> the name of the corresponding request parameter will be.

I just figured that out after doing some more intensive research on
the JSF lifecycle.  This shouldn't be a problem though because the
same renderer that provides the customized "id" attribute can be used
to decode it as well.  Right?

> You should also note that, even if you added something like "directId"
> on the MyFaces extended components, using such a component would fail
> inside a UIData (or any similar component) that renders more than one
> element from the same component -- the fact that the standard
> components use clientId is what lets UIData get involved in the id
> assignment process (since UIData is itself a naming container).

I figured as much.  Well, is there anything we could do to get around
this?  Couldn't we set the directId/styleId attribute using an index
like in Struts?  So a directId of "fooItem" would yield fooItem[1],
fooItem[2], etc.  I'm thinking this is within the realm of
possibility.  I wasn't sure whether you were pointing out a potential
pitfall or whether you fealt this was not feasible.

> Craig

sean

Reply via email to