¿Tiene JSF 2.0 un método integrado para encontrar el ID de cliente de otro componente? Hay aproximadamente mil preguntas relacionadas con ID de cliente en SO y hay muchos métodos de hackeo para hacerlo, pero me pregunto si JSF 2.0 trajo un método más simple que simplemente no sé.Recuperando el ID de cliente de otro componente en JSF 2.0
#{component.clientId}
evalúa el ID de cliente de un componente determinado, pero quiero hacer referencia al ID de otro componente.
This publicación de blog menciona component.clientId
, y también dice #{someComponent.clientId}
funciona, pero por lo que puedo decir que no. Creo que él escribió eso antes de que las implementaciones de referencia de JSF 2.0 salieran, por lo que solo estaba pasando por el JSR y tal vez esa funcionalidad cambió. No estoy seguro.
Sé que PrimeFaces y RichFaces tienen sus propias funciones para devolver un ID de cliente, pero me pregunto si hay un método JSF 2.0 incorporado para esto. He aquí algunos ejemplos:
Esto funciona para devolver el ID del outputText.
`<h:outputText value="My client ID : #{component.clientId}" />`
De acuerdo con el blog anteriormente, esto debería funcionar, pero no es así. Simplemente no obtengo salida.
`<h:button id="sampleButton" value="Sample" />`
`<h:outputText value="sampleButton's client ID : #{sampleButton.clientId}" />`
Esto funciona en PrimeFaces:
`<h:outputText value="PrimeFaces : sampleButton's client ID : #{p:component('sampleButton')}" />`
Obras en RichFaces:
`<h:outputText value="RichFaces : sampleButton's client ID : #{rich:clientId('sampleButton')}" />`
También, si es posible que estoy buscando soluciones que ganaron' romper si cambio el valor de javax.faces.SEPARATOR_CHAR
o si agrego/quito contenedores fuera de la referencia componentes. He pasado mucho tiempo rastreando los problemas causados por las rutas de identificación codificadas.
Eso es genial. Supuse que el atributo 'binding' era exclusivamente para exponer componentes a respaldos de beans; no me di cuenta de que también podías publicar un componente en el alcance. Muchas gracias. – cutchin
De nada. – BalusC
¡Tampoco sabía que podrías hacer eso! No había visto referencias en documentos para ese uso de binding/EL. ¿Es esto nuevo en JSF 2.x? (es decir, ¿está también disponible en 1.2?) –