我正在嘗試開發按字系統進行搜索。我有一個輸入,我鍵入我的單詞並提交重定向到發現結果的頁面,像這樣的鏈接這樣的鏈接localhost:8080/Project/search/word
和一切工作正常。Spring MVC:@PathVariable不適用於西里爾文
但是,當我嘗試搜索西里爾字('дума')時,它什麼也找不到。在URL提出 'дума',但在Java調試控制檯顯示дума
作爲???????°
這是我WebAppInitializer
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};
}
}
控制器:
@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
正常工作與cyrllic,但@PathVariable
沒有按「T。我已經閱讀了很多關於這個問題的文章,但是我找不到解決我的問題和配置的問題。我嘗試了使用Tomcat連接器URIEncoding,但它也不起作用。
我注意到,在我的characterEncodingFilter
的配置中,我缺少URL映射,必須是/*
,但我不知道如何設置它。
如果你認爲你對我的配置類型有一些解決方案,或者你可以給我推薦另一個類似的配置並解釋它是如何工作的,我將非常感激。
預先感謝您。