У меня проблема с передачей параметров в springMVC.Передача параметров, отличных от английского, весной MVC
@RequestMapping(value = "/", method = RequestMethod.POST)
public String homePost(Model model, HttpServletRequest request) {
StringBuilder redirect = new StringBuilder();
String para = request.getParameter("keyword");
redirect.append("redirect:/search?" + "cat=0&job="+ para);
logger.info("Page called: SEARCH; Called parameter: KEYWORD: " + redirect.toString());
return redirect.toString();
}
В моей консоли, я вижу:
Страница называется: ПОИСК; Названный параметр: СЛОВО: редиректа:/поиск кота = 0 & работы = лол лол лол
Но мой URL является
http://localhost:8088/search?cat=0&job=lol%20%20%20%20%20lol
Я установил мои все кодировки в " UTF-8 ", и я пытаюсь выполнить поиск из списка с использованием кириллицы, но он продолжает преобразовывать кириллические буквы в пустые места. Я могу искать латинские буквы. Если я пишу в URL вручную, используя кириллические буквы, я также могу выполнить поиск. В консоли, он также показывает
связывают => [% лол лол%]
Спасибо.
P.S Даже если я не использовал StringBuilder, у меня такая же проблема. P.S.S Мой web.xml имеет
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
ли этот вопрос помощи? http://stackoverflow.com/questions/19272494/fastest-way-to-encode-cyrillic-letters-for-url –
Вы используете Tomcat? См. «Как изменить параметры интерпретации параметров GET?» в http://wiki.apache.org/tomcat/FAQ/CharacterEncoding –