最近学习了下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进行编码,刚好忘掉了。