Facelets 란 무엇인가?
Facelets 은 강력하지만 가벼운 페이지 선언 언어(page declaration language) 이며 HTML 스타일의 템플릿을 이용하여 JavaServer Faces 뷰들과 컴포넌트 트리들을 구축하는데 사용됩니다.
Facelets 의 기능들은 다음을 포함하고 있습니다.
- 웹 페이지들을 만들기 위해 XHTML 을 사용합니다.
- JavaServer Faces 에 Facelets 태그 라이브러리와 추가로 JSTL 태그 라이브러리를 지원 합니다.
- EL 표현식을 지원합니다.
- 페이지들과 컴포넌트를 위한 템플릿을 지원합니다.
규모가 큰 프로젝트를 개발할때 Facelets 을 사용하면 다음과 같은 장점이 있습니다.
- 템플릿을 이용한 코드 재사용, 복합 컴포넌트(composite components)의 지원
- 사용자 정의를 통해 다른 컴포넌트와 서버측(server-side) 객체의 기능 확장
- 높은 생산성
- 컴파일 타임에 EL 표현식의 검증(validation)
- 성능이 좋은 랜더링
요컨대, Facelets 을 사용하면 개발 및 배포에 걸리는 시간과 노력을 줄여 줍니다.
Facelets 뷰들은 일반적으로 XHTML 페이지로 작성 됩니다. JavaServer Faces 구현은 http://www.w3.org/TR/xhtml1/#a_dtd_XHTML-1.0-Transitional 리스트에 있는 XHTML Transitional 문서 타입 정의 (DTD) 를 지원하는 XHTML 페이지를 만드는것을 지원합니다. 규약에 따라 XHTML 로 만들어지는 웹 페이지는 .xhtml 확장자를 가집니다.
JavaServer Faces 기술은 웹 페이지에 컴포넌트를 추가 하기 위해 각종 태그 라이브러리들을 지원합니다. Facelets 은 JavaServer Faces 태그 라이브러리 매커니즘을 지원하기 위해 XML 네임스페이스 선언을 사용합니다. 아래는 Facelets 가 지원하는 태그 라이브러리들의 목록입니다.
Tag Library | URI | Prefix | Example | Contents |
---|---|---|---|---|
JavaServer Faces Facelets Tag Library | http://java.sun.com/jsf/facelets | ui: | ui:example ui:insert |
템플릿 태그 |
JavaServer Faces HTML Tag Library | http://java.sun.com/jsf/html | h: | h:head h:body h:outputText h:inputText |
모든 UIComponent 객체를 위한 JavaServer Faces component 태그들 |
JavaServer Faces Core Tag Library | http://java.sun.com/jsf/core | f: | f:actionListener f:attribute |
JavaServer Faces 의 커스텀 액션 태그는 특정 랜더킷과 무관합니다 |
JSTL Core Tag Library | http://java.sun.com/jsp/jstl/core | c: | c:forEach c:catch |
JSTL 핵심 태그 |
JSTL Functions Tag Library | http://java.sun.com/jsp/jstl/functions | fn: | fn:toUpperCase fn:toLowerCase |
JSTL 기능 태그 |
추가로 Facelets 는 복합 컴포넌트(composite components) 태그를 지원하며 커스텀하게 태그의 prefix 를 정의 할 수 있습니다. 복합 컴포넌트(composite components) 에 대해 더 알고 싶으면 다음 링크를 통해 확인 할 수 있습니다. composite components
JavaServer Faces 의 EL 표현식을 지원을 기반으로 Facelets 의 속성들과 관리되는 빈(managed beans)의 메소드를 참조 할 수 있는 EL 표현식을 사용합니다. EL 표현식은 컴포넌트 객체, 메소드의 값, 관리되는 빈의 속성을 바인딩 할 수 있습니다. EL 표현식에 대한 더 많은 내용은 다음 링크를 통해 확인 할 수 있습니다. Using the EL to Reference Managed Beans
출처
'공부 > JSF' 카테고리의 다른 글
JSF 어플리케이션 Hello World 예제 (0) | 2014.10.04 |
---|---|
JavaServer Faces 어플리케이션 개발 준비 (0) | 2014.10.04 |
JavaServer Faces 버전 히스토리 (0) | 2014.10.02 |
Facelets 소개 (0) | 2014.10.02 |
JSF 기술의 이점 (0) | 2014.10.02 |