先看情景
<!-- 編碼轉換 -->
<filter>
<filter-name>Set Character Encoding</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>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
ModelAndView model = new ModelAndView();
String msg = "提交出錯";
model.setViewName("redirect:module-plan-editor");
model.addObject("msg",msg);
return model;
在jsp頁面中 ${msg},中文一直是亂碼。如果請求中文地址 ,也會變成 %125%21之類的
解決辦法:
jsp中<%@ page language="java" pageEncoding="UTF-8" %>
因爲參數是通過URL參數提交的,所以在%TOMCAT_HOME%/congf/server.xml中的<Connector>標籤,加入了URIEncoding="UTF-8"屬性。
實際的URL爲
http://localhost:8080/testSpring3/manage/userManage.action?userName=啊啊
在Controller中使用
"redirect:http://localhost:8080/testSpring3/manage/userManage.action?userName=啊啊" 來重定向