Tag Archives: 벨로시티

[Velocity] 벨로시티 한글 레퍼런스

회사에서 벨로시티를 사용한 프로젝트 중 필요에 의해 작성한 문서입니다.


단순히 벨로시티 영문판 레퍼런스를 제 짧은 영어 실력으로 번역한 정도입니다.


뒤쪽의 매크로는 빠져있습니다. 틀린부분이나 오역 있으면 말씀해 주시면 수정하겠습니다.

1109945589.pdf

[Velocity] 스프링 프레임워크에서 사용하기

스프링에서는 벨로시티 뷰 템플릿 엔진(혹은 프레임워크)을 사용하기 쉽도록 하기 위해 따로 인터페이스 클래스를 제공하고 있다. 다음과 같은 설정만으로도 바로 벨로시티를 사용할 수 있다.

1. View Resolver
[code]<bean id=”viewResolver”
 class=”org.springframework.web.servlet.view.velocity.VelocityViewResolver”>
  <property name=”cache” value=”true”/>
  <property name=”prefix” value=”/WEB-INF/vm/”/>
  <property name=”suffix” value=”.vm”/>
  <property name=”contentType” value=”text/html; charset=UTF-8″/>
</bean>[/code]

위와 같이 ViewResolver를 설정하여 준다. 기존의 Resolver를 교체하여도 되고 여러개의 Resolver를 설정하여도 된다. 스프링이 알아서 알맞는 Resolver를 선택한다고 한다. Content Type을 강제적으로 설정하여 Response의 헤더에 실려가도록 설정할 수 있다.

2. Velocity Config
[code]<bean id=”velocityConfig”
 class=”org.springframework.web.servlet.view.velocity.VelocityConfigurer”>
  <property name=”resourceLoaderPath” value=”/WEB-INF/vm/”/>
  <property name=”velocityProperties”>
    <props>
      <prop key=”directive.foreach.counter.name”>loopCounter</prop>
      <prop key=”directive.foreach.counter.initial.value”>0</prop>
      <prop key=”input.encoding”>UTF-8</prop>
      <prop key=”output.encoding”>UTF-8</prop>
    </props>
  </property>
</bean>[/code]

resourceLoaderPath에는 VTL 페이지들이 모여있는 곳의 경로를 지정하여 주면 된다. 이런 보안적인 제제가 필요없다면 /로 설정을 하면 된다. 밑의 directive.foreach.counter.name설정은 foreach사용시에 현재 카운터를 참조할 수 있는 변수명을 가르킨다. foreach중 $loopCounter 를 찍어보면 현재의 카운터가 출력된다.

directive.foreach.counter.initial.value는 벨로시티의 foreach카운터 디폴트 시작값이 0이 아닌 1로 되어있다. 대부분의 프로그래밍은 제로베이스 이므로 0으로 바꾸어 준다. 밑의 인코딩 옵션은 사용하기 원하는 인코딩 설정으로 하여주면 된다.