Ich versuche, Suche nach Wort System zu entwickeln. Ich habe eine Eingabe, wo ich mein Wort eintippe und übergebe, dass mich auf die Seite mit gefundenen Ergebnissen zu einem Link wie diesem umleitet localhost:8080/Project/search/word
und alles funktioniert gut.Spring MVC: @PathVariable funktioniert nicht mit kyrillischen
Aber wenn ich versuche, nach einem kyrillischen Wort ('дума') zu suchen, findet es nichts. In der URL wird 'дума' präsentiert, aber in der Java-Debugger-Konsole zeigt дума
als ???????°
Das ist mein WebAppInitializer ist
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class[]{ WebConfig.class };
}
protected Class<?>[] getServletConfigClasses() {
return null;
}
protected String[] getServletMappings() {
return new String[]{ "/" };
}
protected Filter[] getServletFilters(HttpServletRequest request) {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setForceEncoding(true);
characterEncodingFilter.setEncoding("UTF-8");
return new Filter[] { characterEncodingFilter};
}
}
Controller:
@RequestMapping(value = {"/search/word/{word}", "/search/word/{word}/page/{page}"}, method = RequestMethod.GET,
produces = "text/plain;charset=UTF-8")
public ModelAndView getSearchVideoByTitlePage(@PathVariable("word") String word,
@PathVariable(value = "page", required = false) Integer page, HttpServletRequest request,
HttpSession session)
@RequestParam
funktioniert mit cyrllic, aber @PathVariable
doesn t. Ich habe viele Artikel über dieses Problem gelesen und konnte keine Lösung für mein Problem und meine Konfiguration finden. Ich habe versucht, mit Tomcat-Anschluss URIncoding, aber es funktioniert auch nicht.
Ich habe festgestellt, dass ich in meiner Konfiguration für die characterEncodingFilter
Ich fehlt URL-Mapping, die /*
sein muss, aber ich weiß nicht, wie Sie es einstellen.
Wenn Sie denken, Sie haben eine Lösung für meine Art der Konfiguration oder Sie können mir eine andere ähnliche vorschlagen und erklären, wie es funktioniert, werde ich sehr dankbar sein.
Vielen Dank im Voraus.