springMVC表单提交中文乱码有很多种解决方式,比较主流的是在web.xml中直接配置字符拦截器,简单高效,代码如下
<filter>
<filter-name>CharacterEncodingFilter</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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
值得注意的是,url-pattern需要配置成/*而不是/。"
/"
会匹配到/demo这样的路径型url,不会匹配到模式为*.action这样的后缀型url。"/*"会匹配所有url
另外一种方法则是直接设置Request的编码格式,不过这种方法比较单一,只能解决单个请求中的编码问题。代码如下:
req.setCharacterEncoding("utf-8")