UrlFilenameViewController, сохраняющий расширение URL в имени представления - PullRequest
1 голос
/ 11 июня 2010

Я использую 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"?

1 Ответ

0 голосов
/ 11 июня 2010

Я предлагаю разделить на подклассы UrlFilenameViewController и переопределить метод extractViewNameFromUrlPath(), чтобы просто вернуть путь в качестве имени представления.

Вы также можете подать проблему в SpringSource JIRA, попросив их сделать это настраиваемым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...