JSF에서 컴포넌트 바인딩은 무엇입니까? 사용할 때 선호됩니까?


Answers

값만이 아닌 전체 UIComponent 액세스하려는 경우이 메서드를 사용해야합니다. 예를 들어, 뷰에서 호출 / 바인드 할 수없는 일부 메소드에 액세스 할 수 있습니다. JSF 컴포넌트 바인딩 - 약간의 혼동

두 번째 질문, component binding 대 findComponent () - 언제 사용할 것인가? , 단지 " bindingfindComponent() "라고 대답 할 때, 생각하는 것처럼 " bindingvalue " 로 대답하지 않습니다. 제발 혼란스러워하지 마세요. value 가 분명히 binding 넘어 binding 입니다.

실제 코드에서, backing 빈에 대한 컴포넌트 바인딩은 개발자가 프로그램 적으로 자식을 조작해야 할 때마다 component.getChildren().add(...) 같은 경우에만 종종 사용됩니다. 그러나 빈은 요청 범위가되어야합니다. 구성 요소 인스턴스가 기본적으로 요청별로 작성되므로 여러 범위에서 공유하면 안되므로 일관성이 없습니다. 뷰 범위는 또한 매우 비효율적이지만, Mojarra 버전 2.1.18보다 오래된 버전에서는 부분적인 상태 저장도 해제해야합니다. 그렇지 않으면 binding 참조 된 뷰 범위 콩 인스턴스가 모든 요청에서 암시 적으로 다시 작성됩니다. 또한 JSF2의 JSTL을 참조하십시오 Facelets ... 말이 되십니까? 관련 답변.

구성 요소를 "보기"에 바인딩 할 수도 있습니다. 예 :

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

이는 Facelet 범위 ( "페이지 범위")의 UIComponent 인스턴스를 참조합니다. 이렇게하면 동일한 페이지의 다른 곳에 #{some.clientId} , #{some.value} 을 사용할 수 있습니다. 아무런 뒷받침 빈도 여기에 관련되어 있지 않습니다. bean 속성없이 JSF 컴포넌트 바인딩을 참고하십시오.

다음은 binding 속성의 실제 사용 기기입니다.

Question

다음 질문에 binding 특성에 대한 구성 요소 바인딩에 대해 읽었습니다.

뷰의 JSF 태그 뒤에있는 UI 구성 요소를 백업 빈의 UIComponent 속성에 바인딩한다는 것을 알고 있습니다. 그러나 구성 요소 바인딩의 사용과 사용시기를 혼동합니다. 누군가 더 간단한 방법으로 그것을 설명하고 실제적인 예를들 수 있습니까?