URL-адрес без расширения с Spring MVC и Freemarker

Я работаю над проектом, который включает Freemarker и Spring MVC, и на уровне представления все страницы имеют расширение «.ftl».

Теперь появилось последнее требование, когда они хотят, чтобы я удалил все эти расширения и сделал все URL-адреса без расширений. Так, например, если URL-адрес был:

http://localhost:8080/index.ftl

они хотят, чтобы новый URL был:

http://localhost:8080/index

UrlRewriteFilter является новым для меня. Любая помощь в том, как я могу настроить правило, будет очень признательна. Спасибо


person kouami    schedule 30.11.2011    source источник
comment
Я никогда не использовал Spring MVC, но в любой среде MVC, которая не является полной шуткой, общедоступный URL-адрес должен ссылаться на контроллеры MVC (действия), а не на представления MVC. FreeMarker, Velocity и подобные предназначены для просмотра, так что же делает имя шаблона (с расширением или без него) в URL-адресе в первую очередь? Может быть, это то, что вы должны изучить в первую очередь.   -  person ddekany    schedule 01.12.2011


Ответы (1)


Если у вас есть установка Spring MVC в стандартном стиле, лучший способ, вероятно, состоит в том, чтобы изменить @RequestMapping во всех ваших контроллерах, чтобы он был похож на @RequestMapping("/index") вместо @RequestMapping("/index.ftl") Возможно, это больше работы, чем написание кучи правил перезаписи, но это определенно намного меньше. хакки.

person Danalog    schedule 01.12.2011