validar solo showcases numeros formulario etiquetas ejemplo jsf binding components

solo - ¿Qué es el enlace de componentes en JSF? ¿Cuándo se prefiere usar?



validar formulario primefaces (2)

Esta pregunta ya tiene una respuesta aquí:

He leído sobre el enlace de componentes con el atributo de binding en las siguientes preguntas:

Entiendo que vincula el componente UI detrás de la etiqueta JSF en la vista a una propiedad UIComponent en el bean de respaldo. Sin embargo, estoy confundido sobre el uso del enlace de componentes y cuándo deberíamos usarlo. ¿Puede alguien explicarlo de una manera más simple y dar algunos ejemplos prácticos?


Debe usarlo si desea tener acceso a todo el UIComponent lugar de solo su valor. Por ejemplo, para acceder a algunos métodos que no se pueden invocar / enlazar en la vista. Esto se responde en la primera pregunta que encontraste: enlace de componentes JSF: alguna confusión

La segunda pregunta que encontraste, la vinculación de componentes frente a findComponent (): ¿cuándo usar qué? , simplemente responde " binding versus findComponent() " , no responde " binding versus value " en absoluto, como pareces pensar. Por favor no te confundas con esto. value obviamente ganaría sobre el binding .

En el código del mundo real, el enlace de componentes al bean de respaldo a menudo solo se usa cuando el desarrollador necesita manipular a sus hijos mediante programación, por ejemplo, component.getChildren().add(...) . Sin embargo, el bean debe solicitar un alcance. Un ámbito más amplio puede generar inconsistencias, ya que las instancias de los componentes se crean básicamente por solicitud y no deben compartirse entre varias solicitudes. El ámbito de vista también puede, pero esto es muy ineficiente en memoria, y en las versiones de Mojarra anteriores a 2.1.18, el ahorro de estado parcial también debe estar desactivado; de lo contrario, la instancia de bean con ámbito de vista a la que se hace referencia se volverá a crear implícitamente en cada solicitud. Ver también JSTL en JSF2 Facelets ... tiene sentido? para una respuesta relacionada.

También es posible vincular el componente a "la vista". P.ej

<h:someComponent binding="#{some}">

Esto se refiere a una instancia de UIComponent en el alcance de Facelet ("alcance de página"). Esto le permite usar, por ejemplo, #{some.clientId} , #{some.value} en cualquier lugar de la misma página. Tenga en cuenta que no hay bean de respaldo involucrado aquí. Consulte también el enlace de componente JSF sin propiedad de bean .

Aquí hay algunos dispositivos de uso del atributo de binding del mundo real: