뷰단이 velocity 로 선정되었는데요 잘안되서 질문드립니다.
- 작성자 :
- 정*호
- 작성일 :
- 2014-08-06 11:14:03
- 조회수 :
- 1,046
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
제가 스프링도 처음일뿐아니라 전자정부 프레임워크도 처음 개발해보거든요...
현재 개발환경 잡으면서 테스트 중이거든요...
velocity 를 붙히려고 한 3일동안 열심히 찾아봤는데요
web.xml 에 설정된
/common/error.jsp 페이지만 나오고 있습니다....
velocity 를 붙힐려면 web.xml 이랑 dispatcher-servlet.xml 을 수정하고
EgovSampleController.java 를 수정해야될거같은데
잘안되서 질문을 드리겠습니다.
1. web.xml 에서는 servlet 설정을 velocity 로 추가하던데 기존 servlet 은 삭제해야 되는건가요?
2. dispatcher-servlet.xml 부분에 velocity Resolver와 configer 가 추가되는데 기존 Resolver는삭제하고 해야되는건가요?
3. controller 부분 설정은 어떻게 해야되는지..막막합니다.
구글을 다뒤져봐도안나오던데 지원한번만 부탁드립니다.
현재 개발환경 잡으면서 테스트 중이거든요...
velocity 를 붙히려고 한 3일동안 열심히 찾아봤는데요
web.xml 에 설정된
/common/error.jsp 페이지만 나오고 있습니다....
velocity 를 붙힐려면 web.xml 이랑 dispatcher-servlet.xml 을 수정하고
EgovSampleController.java 를 수정해야될거같은데
잘안되서 질문을 드리겠습니다.
1. web.xml 에서는 servlet 설정을 velocity 로 추가하던데 기존 servlet 은 삭제해야 되는건가요?
2. dispatcher-servlet.xml 부분에 velocity Resolver와 configer 가 추가되는데 기존 Resolver는삭제하고 해야되는건가요?
3. controller 부분 설정은 어떻게 해야되는지..막막합니다.
구글을 다뒤져봐도안나오던데 지원한번만 부탁드립니다.
A
안녕하세요. 정연호님.
Spring에서 Velocity를 적용하는 것은 view resolver 부분만 적용하시면 됩니다.
즉, 1번 기존 DispatcherServlet을 삭제하시면 안되시고, velocity용 servlet 등록은 필요 없습니다.
2번은 ViewResolver만 다음과 같이 변경하시면 됩니다. (기존 ViewResolver를 삭제하시거나, order를 높게 설정하여 Velocity용 ViewResolver가 먼저 처리되도록 지정)
<!--
This bean sets up the Velocity environment for us based on a root path for templates.
Optionally, a properties file can be specified for more control over the Velocity
environment, but the defaults are pretty sane for file based template loading.
-->
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>
</bean>
<!--
View resolvers can also be configured with ResourceBundles or XML files. If you need
different view resolving based on Locale, you have to use the resource bundle resolver.
-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".vm"/>
</bean>
3. 마지막으로 Controller 부분은 수정하실 필요가 없습니다. 다만, 각 Controller 메소드가 return하는 String(논리적 View명)에 해당되는 vm 파일(확장자 제외 파일명, 경로 포함)을 만들어 놓으시면 됩니다.
그럼, 즐거운 하루되십시오.
감사합니다.
Spring에서 Velocity를 적용하는 것은 view resolver 부분만 적용하시면 됩니다.
즉, 1번 기존 DispatcherServlet을 삭제하시면 안되시고, velocity용 servlet 등록은 필요 없습니다.
2번은 ViewResolver만 다음과 같이 변경하시면 됩니다. (기존 ViewResolver를 삭제하시거나, order를 높게 설정하여 Velocity용 ViewResolver가 먼저 처리되도록 지정)
<!--
This bean sets up the Velocity environment for us based on a root path for templates.
Optionally, a properties file can be specified for more control over the Velocity
environment, but the defaults are pretty sane for file based template loading.
-->
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>
</bean>
<!--
View resolvers can also be configured with ResourceBundles or XML files. If you need
different view resolving based on Locale, you have to use the resource bundle resolver.
-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".vm"/>
</bean>
3. 마지막으로 Controller 부분은 수정하실 필요가 없습니다. 다만, 각 Controller 메소드가 return하는 String(논리적 View명)에 해당되는 vm 파일(확장자 제외 파일명, 경로 포함)을 만들어 놓으시면 됩니다.
그럼, 즐거운 하루되십시오.
감사합니다.