====== 사용자 정의 템플릿 추가 기능 ====== ===== 개요 ===== 전자정부 프레임워크에서 제공하는 기본 템플릿 외에도 사용자가 필요한 템플릿을 작성하여 추가할 수 있는 기능을 제공한다. 전자정부 프레임워크 템플릿 Code Gen. 은 플러그인 방식으로 개발되었기 때문에 사용자가 전자정부 프레임워크 템플릿 Code Gen 의 플러그인을 확장하여 다양한 템플릿을 작성할 수 있고, 프로젝트에서 이를 활용할 수 있다. ===== 설명 ===== 전자정부 프레임워크에서 제공하는 템플릿 Code Gen 은 기본적으로 Velocity Template Engine 을 사용한다. 사용자 정의 템플릿을 추가하기 위해서는 다음과 같은 구성요소가 필요하다. \\ * Template : 사용자는 Velocity Template 문법에 따라 Template 을 제작한다.\\ * Wizard XML File : Wizard 화면 UI 를 생성하기 위한 XML 파일이다. \\ * Wizard 목록 XML File : Template 의 목록 정보 XML 파일이다.\\ * 플러그인 프로젝트 : 전자정부 프레임워크 템플릿 Code Gen. 의 확장점을 이용하여 작성하며, 주요구성요소는 Template, Wizard XML, Wizard 목록 XML 이다. \\ * 피처, 업데이트 사이트 프로젝트 : 위의 플러그인 프로젝트를 하나의 단위로 묶어 업데이트할 수 있도록 돕는다. \\ ==== 템플릿 작성 방법 ==== ~ Velocity Template 기본 작성방법은 다음 사이트를 참조한다. \\ http://wiki.apache.org/velocity/FrontPage ==== Wizard 생성 방법 ==== - Wizard 는 XML 문법에 따라 작성하며 사용법은 다음과 같다. === Wizard 의 구성 === 사용자 정의 템플릿 마법사 페이지는 model-page 와 component-page 가 있으며, 하나 이상의 페이지를 생성 또는 추가할 수 있다.\\ * model-page : 데이터베이스 테이블 선택 페이지\\ * component-page : 각각의 입력항목을 통하여 필요한 정보를 입력받는 페이지. \\ * output : 템플릿 파일 매핑 정보를 기술 \\ === 모델 페이지의 생성 === Select some Table === 컴포넌트 페이지의 생성 예시 === Input resource information (설명) * component-page : 생성되는 위저드 페이지 수만큼 하나 이상의 XML Code를 작성한다. * label : 위저드 화면에 보여지는 제목 * name : 내부적으로 사용되는 컴포넌트명 * required : 필수 입력값 여부 (true|false) * value : default 값을 선언할 때 사용한다. == UI 입력 컴포넌트 생성 및 추가 == group : 하나 이상의 UI 컴포넌트 를 그룹화한다. ... (설명) * label : 위저드 화면에 보여지는 제목 * checkbox : 그룹내 컴포넌트 항목들에 대한 checkbox 옵션을 적용한다. Container : 패키지 또는 폴더를 선택하기 위한 것이다. (type 설명) * package : 현재 프로젝트의 자바 패키지 목록을 선택할 수 있는 기능을 제공한다. * folder : 현재 프로젝트의 리소스 폴더를 선택할 수 있는 기능을 제공한다. textField : 텍스트 입력박스 checkbox : radio : combo : === Output 작성 예시 === - 코드 생성을 하기 위해서는 위저드에서 입력받은 내용을 어떤 템플릿 파일과 매핑시켜서 코드를 생성할 것인지 에 지정해주어야 한다. (설명) * template : 생성되는 파일의 수만큼 하나 이상의