Я использую Spring MVC и использую UrlFilenameViewController для непосредственного отображения входящих URL-адресов на мой View Resolver без контроллера между ними. Я использую это, чтобы Freemarker писал файлы CSS и JS, просто располагая файлы .css.ftl и .js.ftl в соответствующем месте. Это все прекрасно работает.
В некоторых браузерах возникают проблемы с возвращением файлов .css без Content-type text / css, а распознаватель представлений Freemarker не позволяет устанавливать тип содержимого ответа на основе запрошенного представления. Чтобы обойти это, я написал свой собственный ViewResolver, который смотрит на имя представления и устанавливает тип контента на его основе, поэтому любое имя представления, оканчивающееся на .css, будет иметь тип контента text / css. Этот бит тоже отлично работает.
Проблема в том, что для того, чтобы мое имя вида было style.css, мне нужно запросить style.css.css, потому что UrlFilenameViewController удаляет расширение, чтобы получить имя представления, которое оно использует. Как мне остановить это, чтобы "/style.css" фактически разрешал представление "style.css" и, следовательно, шаблон "style.css.ftl"?