最近学习了下Spring3.0 MVC,又遇到了乱码问题。
在web.xml加如了编码转换。
<!-- 编码转换 -->
<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>
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=小强" 来重定向
然后实际通过 @RequestParam(value="userName",required=false) String userName
得到的为userName=))Q?
有没有朋友,遇到类似情况。
已经解决,早上接了大量客户电话。有点犯晕
对于url带的参数,需要使用URLEncoder进行编码,刚好忘掉了。