JSF에서 사용자 정의 구성 요소를 작성하고 이미 작성했습니다. 이제 XHTML 파일에서 사용하는 해당 사용자 정의 태그에 대한 속성을 작성하여 필수로 작성하려고합니다. UIOutput 클래스에서 확장 된 MyJSFComponent 구성 요소를 만들었습니다. 특정 속성을 어떻게 위임 할 수 있습니까?jsf 필수 구성 요소를 선언하는 사용자 정의 구성 요소
2
A
답변
2
UIComponent
쪽에서는하지 말고 .taglib.xml
또는 TagHandler
쪽에서하십시오.
.taglib.xml
파일에서 <required>true</required>
항목을 속성에 추가하기 만하면됩니다.
<attribute>
<name>foo</name>
<required>true</required>
<type>java.lang.String</type>
</attribute>
그러나 오류가 발생하는지 여부는 도구 (편집기)에 따라 결정됩니다. JSF/Facelets은 런타임 중에 체크하지 않습니다. 예를 들어 Eclipse는 편집기에서 태그를 자동 완성 할 때 자동으로 속성을 인라인합니다. 그러나 나중에 제거 할 수 있으며 오류없이 실행됩니다.
보다 강화 된 실행은 클래스를 사용합니다.이 클래스는 부재시에는 TagException
을 던지는 getRequiredAttribute()
메서드를 제공합니다. 다음과 같이 다음 .taglib.xml
파일이 핸들러를 등록 할 수 있습니다 :
<component>
<component-type>com.example.SomeComponent</component-type>
<handler-class>com.example.SomeComponentHandler</handler-class>
</component>
그에 핸들러 클래스는 기본적으로 다음과 같이 :
public class SomeComponentHandler extends ComponentHandler {
public SomeComponentHandler(ComponentConfig config) {
super(config);
getRequiredAttribute("foo");
}
}
이 속성의 존재에 실제 런타임 검사를 수행합니다.
관련 문제
- 1. 사용자 정의 구성 요소 내에서 다른 JSF 구성 요소 호출
- 2. 사용자 지정 구성 요소 필수 특성
- 3. JSF 사용자 정의 구성 요소 오류가 + ValueExpression
- 4. JSF 사용자 정의 구성 요소 : 내가 JSF에 대한 사용자 정의 구성 요소를 작성했습니다 <f:ajax />
- 5. Facelet 사용자 정의 구성 요소 - UI를 렌더링 방지 :이 내 사용자 정의 구성 요소 정의입니다 사용자 정의 구성 요소
- 6. 일반 안드로이드 구성 요소를 사용하여 사용자 정의 구성 요소 만들기
- 7. JSF 구성 요소 렌더러
- 8. Talend - 사용자 정의 구성 요소
- 9. 사용자 정의 구성 요소 - 구성 요소 팔레트에서 툴팁을 설정하는 방법?
- 10. , 안드로이드 사용자 정의 구성 요소
- 11. 사용자 지정 JSF 구성 요소 특성 목록
- 12. JSF 구성 요소 패싯
- 13. JSF 2.0 구성 요소
- 14. JSF calendar 구성 요소
- 15. JSF 재귀 복합 구성 요소
- 16. JSF 1.2 사용자 정의 구성 요소 : 내 질문을 시작하기 전에
- 17. JSF 용 플렉스 구성 요소
- 18. 사용자 정의 구성 요소 사용자 객체 값
- 19. Nativescript 사용자 정의 구성 요소
- 20. 공유 구성 요소 사용자 정의
- 21. 사용자 정의 iPhone 사용자 인터페이스 구성 요소
- 22. JSF 사용자 정의 구성 요소, 내가 표현을 가질 수 속성 "제목"와 사용자 정의 구성 요소를 만들려고하지만, 속성
- 23. DOM에서 JSF 구성 요소 참조하기
- 24. JSF 구성 요소 다시 렌더링
- 25. JSF 백업 구성 요소 - 복합 구성 요소 - Stackoverflow 예외
- 26. JSF : 사용자 지정 구성 요소에서 구성 요소 본문의 텍스트에 액세스
- 27. 중첩 된 구성 요소를 Angular2로 선언하는 방법
- 28. Tomcat의 JSF RichFaces 구성 요소
- 29. 사용자 정의 HTML 입력 구성 요소
- 30. activeadmin에 대한 레이아웃 (구성 요소) 사용자 정의
현재 일부 값을 렌더링하기 위해 UIOutput을 사용하고 있습니다. 수 foo는 사실 이 UIOutput 구성 요소와 함께 사용할 수 java.lang.String의? –
user2354566
죄송합니다. 왜 그런 문제가 생길지 모르겠습니다. 너도 그걸 시도하지 않았다고 말하는거야? 왜 안돼? – BalusC
발루 감사합니다. 나는 dhandler 클래스의 컴포넌트 타입이 같고 이것에 따라 변경을하고 있다고 생각했다. 마침내 내가 두 개의 다른 클래스를 가리킨다는 것을 깨달았을 때, 나는 그것을 성취한다. 지원을 위해 당신을 Thak. – user2354566