La récupération d'autre du composant d'identification de client en JSF 2.0

Ne JSF 2.0 intègre une méthode pour trouver l'ID du client d'un autre composant? Il y a environ un millier d'ID du client liés à des questions sur soi et il y a beaucoup de hackish méthodes pour faire cela, mais je me demandais si JSF 2.0 a introduit une méthode plus simple que je ne sais pas.

#{component.clientId} évalue à une composante donnée du client ID, mais je veux faire référence à une autre composante de l'IDENTITÉ.

Cette blog post mentionne component.clientId, et il dit aussi #{someComponent.clientId} œuvres, mais de ce que je peux dire il ne le fait pas. Je crois qu'il a écrit avant que l'une des implémentations de référence de JSF 2.0, de sorte qu'il a été tout simplement passer par la JSR et peut-être que la fonctionnalité ont changé. Je ne suis pas sûr.

Je sais PrimeFaces et RichFaces les deux ont leurs propres fonctions pour retourner un numéro de client, mais je me demandais simplement si il y a un haut-JSF 2.0 méthode pour cela. Voici quelques exemples:

Cela fonctionne pour retourner le outputText ID.

`<h:outputText value="My client ID : #{component.clientId}" />`

Selon le blog ci-dessus, cela devrait fonctionner, mais il ne le fait pas. Je viens d'obtenir aucun résultat.

`<h:button id="sampleButton" value="Sample" />`

`<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />`

Cela fonctionne dans PrimeFaces:

`<h:outputText value="PrimeFaces : sampleButton's client ID : #{p:component('sampleButton')}" />` 

Travaille dans RichFaces:

`<h:outputText value="RichFaces : sampleButton's client ID : #{rich:clientId('sampleButton')}" />`

Également, si possible, je suis à la recherche de solutions qui ne cassera pas si je change le javax.faces.SEPARATOR_CHAR valeur ou si je ajouter/supprimer des conteneurs à l'extérieur de l'composants référencés. J'ai passé beaucoup de temps à traquer les problèmes causés par codée en dur ID chemins.

OriginalL'auteur cutchin | 2012-08-25