Ich habe in meiner Annotation-gesteuerten Spring MVC Java-Webanwendung auf dem Jetty-Webserver ausgeführt (derzeit im Maven Jetty-Plugin).
Ich versuche, AJAX-Unterstützung mit einer Controller-Methode durchzuführen, die nur String-Hilfetext zurückgibt. Die Ressourcen sind in UTF-8-Codierung, ebenso wie die Zeichenfolge, aber meine Antwort vom Server kommt mit
content-encoding: text/plain;charset=ISO-8859-1
auch wenn mein browser sendet
Accept-Charset windows-1250,utf-8;q=0.7,*;q=0.7
Ich verwende irgendwie die Standardkonfiguration der Feder
Ich habe einen Hinweis gefunden, um diese Bean zur Konfiguration hinzuzufügen, aber ich denke, sie wird einfach nicht verwendet, da sie besagt, dass sie die Codierung nicht unterstützt und stattdessen eine Standardcodierung verwendet wird.
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
</bean>
Mein Controller-Code lautet (beachten Sie, dass diese Änderung des Antworttyps bei mir nicht funktioniert):
@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;
}