在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取。可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传。 但问题是到了后台出现乱码,不论是SQL查询关键字,还是其他参数,试了几种方案
1.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>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
还是不管用
再改工程里的tomcat的配置文件server.xml
Connector标签增加useBodyEncodingForURI="true"属性即可
至此郁闷2周的乱码问题解决了。