I don't think that could be a problem.
As long as a tag attribute forceId exists this should work, also if
there is a setter setForceId() in UIComponent.

The attributeMap is a special map implementation which first looks for a
getter/setter on the UIComponent and if not found put/get the Value
into/from the map. In case of get also trying valueBinding if no value
was found before.

So if a setter setForceId(value) exists a getAttributes().put("forceId",
value) will use it.

Be carefull implementing setter on UIComponents:
implementing like this:

public void setXyz(Object o)  {
  getAttributes().put("xyz", o);
}

will cause an endless loop.

Once happend to me :-(

Travis Reeder wrote:
> That'll work, but that's probably not the right way to do because if the
> implementation changes then this won't work.  Seems to me that there
> should be a setForceId method on components.
> 
> Travis
> 
> 
> 
> On 10/21/05, *Volker Weber* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     Hi,
> 
>     to set forceId do dynamicaly created components you can do
> 
>     component.getAttributes().put(JSFAttr.FORCE_ID_ATTR, Boolean.True);
> 
>     this is what the tag does.
> 
>     Mike Kienenberger wrote:
>     > That'd also mean that you couldn't use forceID from an alternate
>     > ViewHandler facelets or Shale/Clay as well since the *Tag isn't used.
>     >
>     > On 10/21/05, Travis Reeder <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>> wrote:
>     >
>     >>Any reason for this?  Why I ask is because when creating components
>     >>programatically, you can't setForceId().
>     >>
>     >> Travis
>     >>
>     >>
>     >
>     >
> 
>     --
>     Don't answer to From: address!
>     Mail to this account are droped if not recieved via mailinglist.
>     To contact me direct create the mail address by
>     concatenating my forename to my senders domain.
> 
> 

-- 
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.

Reply via email to