Hi Stefano,
I'm not sure what Cagatay was suggesting here.
The "server side id" is ambiguous, ie it is perfectly allowed to have
multiple components in the view with the same "server side id", as long
as they are in different naming containers (forms, subviews, etc). So
any function that looks up a component via its "server side id" also
needs a reference to a component that is the "starting point" for the
search, ie which is in the same "naming container" as the component you
are trying to find.
A reference to the component on which the static method call is defined
(eg the h:outputText component in the example below) would be a good
choice as the "starting point" for a search. But AFAIK, the standard
mechanism for defining static method calls (eg "t:clientId") doesn't
have any way to ask "what is the component that triggered the call to
me". So I have no idea at all how to implement this. Or how RichFaces
could possibly implement this.
Stefano, you say you know of an API that "helps to find component in
component tree respecting name container" in JSF1.2. Which API are you
referring to?
And can you show an example of how the RichFaces code looks?
Regards,
Simon
Stefano Panero schrieb:
Thanks,
Is there an API the helps to find component in componet tree,
respecting name container of course? I've found it in JSF 1.2, but not
in 1.1. And we need the latter.
Stefano.
2008/9/16 Cagatay Civici <[EMAIL PROTECTED]>:
A solution would be that in your facelets method, you pass the server side
id of the component, then find it in the component tree, once you have the
component instance use UIComponent.getClientId(facescontext) to reach the
client id.
On Tue, Sep 16, 2008 at 8:24 PM, Stefano Panero <[EMAIL PROTECTED]>
wrote:
Hi,
with Myfaces/Tomahawk how can I do something like richfaces
rich:clientId el function?
This function resolve the clientId of a componet passing the id,
respecting name containers:
For example:
<h:form id="workform" >
<h:inputText id="intputText" />
<h:outputText value="#{t:clientId('intputText')}">
</h:form>
The outputText valu should be: "workform:inputText"
How can I implementig a function like this in a Facelets envinroment?
Thanks,
Stefano.