Velocity 문서 원본 보기
←
Velocity
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
Java 기반의 Template Engine인 Apache Velocity를 정리 한다. Velocity는 MVC 모델에서 View영역에서 사용 되므로 JSP의 대안이 될 수 있다. *홈페이지 : http://velocity.apache.org/ *다운로드 : http://velocity.apache.org/download.html *라이센스 : [http://www.apache.org/licenses/LICENSE-2.0.txt Apache Software License] *플랫폼 : Java <br> ==프로그램 문법== ===프로그램 기초=== Velocity는 JSP에 해당하는 Velocity Template File (~.vm)을 사용 한다. *선언 및 사용 import java.io.StringWriter; import org.apache.velocity.VelocityContext; import org.apache.velocity.Template; import org.apache.velocity.app.Velocity; import org.apache.velocity.exception.ResourceNotFoundException; import org.apache.velocity.exception.ParseErrorException; import org.apache.velocity.exception.MethodInvocationException; VelocityContext context = null; Template template = null; Velocity.init("velocity.properties"); context = new VelocityContext(); context.put(name, value); ## 템플릿으로 전달할 값 저장 try { template = Velocity.getTemplate("TemplateName.vm"); BufferedWriter fout = new BufferedWriter(new OutputStreamWriter(System.out)); template.merge(context, fout); fout.flush(); fout.close(); } catch( ResourceNotFoundException rnfe ) { } catch( ParseErrorException pee ) { } catch( MethodInvocationException mie ) { } catch( Exception e ) { } ===상수/변수=== ===함수=== ===데이터 할당=== context.put(name, value); ===기타 확장 문법=== ==Template 문법== VTL (Velocity Template Language)는 Velocity에서 템플릿 개발에 사용되는 간단한 언어 이다. ===Template 기초=== *주석 ## : 한줄 주석 #* 여러줄 *# : 여러줄 주석 *중단 #stop : 중단 *Template 무시 :*' ' 안에서는 $var가 확장 되지 않는다. #literal() ~ #end ===Template 상수/변수=== *내장 객체 :*$actionInstanceVariable : getVariable()로 접근 :*$req : HttpServletRequest :*$res : HttpServletResponse :*$stack : com.opensymphony.xwork.util.OgnlValueStack 인스턴스 :*$ognl : com.opensymphony.webwork.views.jsp.ui.OgnlTool 인스턴스 :*$webwork : com.opensymphony.webwork.util.WebWorkUtil 인스턴스 :*$action : WebWork action :*$taglib : Velocity 매크로를 통한 JSP tag 라이브러리 접근 *변수 선언 및 값 지정 #set ($name = value) : 문자열 값 지정 단, value가 null일 경우 $name은 값의 변화가 없음 "value"를 사용할 경우, value 부분이 파싱되어 처리됨 'value'를 사용할 경우, value 부분은 파싱되지 않음 (stringliterals.interpolate=true) *범위 연산 선언 [-2..7] *레퍼런스 : 레퍼런스는 문자열을 저장 또는 반환 한다. :*개체 : $variable, ${variable} :*속성 : $variable.property, ${variable.property} ::*속성 또는 getProperty()가 호출됨 :*함수 : $variable.method(args), ${variable.method(args)} :*기타 문법 $!variable, $!{variable} : 값이 없을 경우 공백 표시 \\ : \, \$ : $, \# : # ===Template 함수=== ===Template 포함=== *외부 Template 파일 포함 #include ("file1.txt", "file2.txt") : 그대로 포함 #parse ("file.vm") : 파싱하여 포함 *내부 Block 영역 포함 #define( $block ) Hello $who #end $block ===Template 분기 및 순환=== * #if (조건) #elseif (조건) #else #end : 조건문 참 : true, null이 아님 거짓 : false, null <, >, ==, &&(and), ||(or), !(not) == : 같은 object type이 아닐 경우 false 처리 * #foreach ($name in $배열등) #end : 반복문 #foreach ($idx in [1..5]) #foreach ($name in ["a", "b", "c"]) $velocityCounter : 반복 카운트, 1, 2, 3, ... $velocityHasNext #break #end ===Template 확장 문법=== *매크로 #macro (macroName $arg1 $arg2) : 매크로 선언 //--- velocity.properties의 velocimacro.library에 지정된 라이브러리는 모든 템플릿에서 공유 된다. #macroName(arg1 arg2) : 매크로 호출 ==관리자 매뉴얼== ==참고 문헌== *[http://www.javajigi.net/pages/viewpage.action?pageId=210 JSTL과 Velocity를 활용한 UI 레이어 구현 방법] *[http://velocity.apache.org/engine/devel/user-guide.html Velocity User Guide] *[http://velocity.apache.org/engine/devel/developer-guide.html Velocity Developer Guide] [[Category:오픈소스]] [[Category:기술_자료실]] [[Category:Spring]] [[Category:Java]] [[Category:Template Engine]]
Velocity
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보