Categories
JAVA

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

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


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


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

1109945589.pdf
Categories
JAVA

[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으로 바꾸어 준다. 밑의 인코딩 옵션은 사용하기 원하는 인코딩 설정으로 하여주면 된다.

Exit mobile version