JSF 컴포넌트 트리를 반복하고 컴포넌트를 사용 불가능으로 설정하는 간단한 메소드를 구현합니다. (따라서 사용자는 값을 변경할 수 없습니다). 그러나이 방법은 복합 구성 요소에서는 작동하지 않습니다. 적어도 복합 컴포넌트를 어떻게 찾을 수 있습니까? 그런 다음 특수 특성을 사용 안 함으로 설정하려고 할 수 있습니다.JSF 컴포넌트 트리에서 복합 컴포넌트를 찾는 방법은 무엇입니까?
1
A
답변
2
UIComponent
클래스에는 정확하게이 목적으로 isCompositeComponent()
도우미 메서드가 있습니다.
그래서,이 단지 수행해야합니다
for (UIComponent child : component.getChildren()) {
if (UIComponent.isCompositeComponent(child)) {
// It's a composite child!
}
}
에 관심이 들어 동작 "내부적으로"여기 인 Mojarra 2.1.25에서 구현 소스 코드입니다 :
public static boolean isCompositeComponent(UIComponent component) {
if (component == null) {
throw new NullPointerException();
}
boolean result = false;
if (null != component.isCompositeComponent) {
result = component.isCompositeComponent.booleanValue();
} else {
result = component.isCompositeComponent =
(component.getAttributes().containsKey(
Resource.COMPONENT_RESOURCE_KEY));
}
return result;
}
은 따라서 "javax.faces.application.Resource.ComponentResource"
값을 갖는 Resource.COMPONENT_RESOURCE_KEY
으로 정의 된 이름의 구성 요소 속성이 있는지 여부로 식별됩니다.
관련 문제
- 1. JSF 복합 컴포넌트 넷빈
- 2. JSF 복합 컴포넌트를 지역화하는 방법은 무엇입니까?
- 3. 는 복합 JSF 컴포넌트
- 4. JSF 복합 컴포넌트 ID
- 5. JSF 복합 컴포넌트를 공용으로 배포하기
- 6. 복합 컴포넌트 용 ManagedBean
- 7. JSF 복합 컴포넌트 (backing bean 포함)
- 8. JSF 2.0 - 복합 컴포넌트 렌더링에 문제가있는 경우
- 9. JSF 2 복합 컴포넌트를 지역화하는 방법
- 10. 렌더링시 JSF 컴포넌트 삽입/추가
- 11. JSF 2 복합 컴포넌트 렌더링 문제
- 12. jsf 2.0 복합 컴포넌트 - 외부 bean/속성 수정 방법
- 13. JSF 일반 컴포넌트 구현 방법
- 14. 복합 컴포넌트 속성의 Enum 값
- 15. JSF 사용자 정의 컴포넌트를 빠르게 생성하는 방법
- 16. 프로그래밍 방식으로 또는 동적으로 JSF 2에서 복합 컴포넌트를 작성하는 방법
- 17. JSF 2.0 복합 컴포넌트 내에서 메소드를 호출하지 못했습니다.
- 18. JSF가 복합 컴포넌트를 업데이트 중
- 19. JSF 컴포넌트 오브젝트
- 20. JSF 2.0 사용자 정의 컴포넌트 (XSLT 포함)
- 21. Maven 프로젝트에서 JSF 컴포지트 컴포넌트 구현
- 22. JSF UIComponent를 복합 컴포넌트 자식으로 추가 렌더링하지 않음
- 23. JSF에서 복합 컴포넌트를 어떻게 바인딩합니까?
- 24. 부울 조건을 기반으로 복합 컴포넌트 렌더링
- 25. 노드 트리에서 NodeData를 찾는 방법은 무엇입니까?
- 26. 동적 하위 컴포넌트를 가진 ReactJS 레이아웃 컴포넌트
- 27. JSF 컴포넌트 선언
- 28. JSF 재귀 복합 구성 요소
- 29. 복합 컴포넌트 내에서 p : overlaypanel을 사용할 수 없습니다.
- 30. ajax 업데이트 후 jsf 사용자 정의 컴포넌트 다시 초기화
복합 컴포넌트 백킹 빈 유형의 유일한 제한은'NamingContainer'를 구현하는 것이기 때문에 어떤 것이 복합 클래스인지 여부를 감지 할 수 없지만 그 인터페이스를 구현하는 많은 것들이 있습니다. – rdcrng
질문 당 하나의 질문을하십시오. 기존 질문을 카멜레온 화하지 마십시오. 답변이 불완전하거나 심지어 무효가됩니다. – BalusC
@BalusC 미안하지만, 이것이 내 첫 번째 질문이었고 보안에 대한 생각은 나중에 이것에 대해 생각할 때 나온다. 답을 다시 만들 수 있습니까? 당신의 대답은 매우 유용했습니다. – Tony