У меня есть мое приложение, связанное с аннотацией Spring MVC Java, запущенное на причальном веб-сервере (в настоящее время в плагине для maven).Кто устанавливает тип содержимого ответа в Spring MVC (@ResponseBody)
Я пытаюсь выполнить некоторую поддержку AJAX с помощью одного метода контроллера, возвращающего только текст справки строки. Ресурсы в UTF-8 кодировке и поэтому строка, но мой ответ от сервера приходит с
content-encoding: text/plain;charset=ISO-8859-1
даже когда мой браузер посылает
Accept-Charset windows-1250,utf-8;q=0.7,*;q=0.7
Я использую как-то по умолчанию конфигурации пружины
Я нашел подсказку, чтобы добавить этот компонент в конфигурацию, но я думаю, что он просто не используется, потому что он говорит, что он не поддерживает кодировку, а используется по умолчанию.
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
Мой код контроллера (обратите внимание, что это изменение типа ответа не работает для меня):
@RequestMapping(value = "ajax/gethelp")
public @ResponseBody String handleGetHelp(Locale loc, String code, HttpServletResponse response) {
log.debug("Getting help for code: " + code);
response.setContentType("text/plain;charset=UTF-8");
String help = messageSource.getMessage(code, null, loc);
log.debug("Help is: " + help);
return help;
}
Работает как шарм, большое спасибо – Hurda
Это похоже на грязный хак. Мне это не нравится, но нужно использовать. Разработчики Spring Framework должны работать над этим делом! – digz6666
Где находится строка go? –
zod