2011-11-30 2 views
0

Freemarker와 Spring MVC가 포함 된 프로젝트에서 작업하고 있으며 프리젠 테이션 레이어에서 모든 페이지는 ".ftl"확장자가 있습니다.Spring MVC와 Freemarker를 사용하는 Extensionless URL

이제 모든 확장 기능을 제거하고 모든 URL 확장자를 없애기를 원하는 곳에 늦은 요구 사항이 발생했습니다. 그래서 예를 들어 URL이로 사용하는 경우 :

http://localhost:8080/index 

UrlRewriteFilter 나에게 새로운 :

http://localhost:8080/index.ftl 

들이 새로운 URL이되고 싶어요. 규칙을 구성하는 방법에 대한 도움은 매우 감사하겠습니다. 감사

+0

저는 스프링 MVC를 사용한 적이 없지만 MVC 프레임 워크가 아닌 완전한 MVC 프레임 워크에서 공용 URL은 MVC 컨트롤러가 아니라 MVC 컨트롤러 (동작)를 참조해야합니다. FreeMarker, Velocity 등은 View에 대한 것이므로 처음에 URL에서 템플릿 이름 (확장자의 유무에 관계없이)은 무엇을합니까? 어쩌면 그게 먼저 들여다 봐야 할 것 같아. – ddekany

답변

1

당신이 표준 스타일의 스프링 MVC 설정이있는 경우, 가장 좋은 방법은 모든 컨트롤러에 @RequestMapping을 변경 아마도 그것은 재 작성 규칙의 무리를 쓰는 것보다, 어쩌면, 더 많은 작업이다 @RequestMapping("/index") 대신 @RequestMapping("/index.ftl")의처럼되고 ,하지만 확실히 덜 해킹입니다.

관련 문제