SpringMVC Post请求中文乱码问题
jsp代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/T01.action" method="post">
姓名:<input type="text" name="name"/> <br/>
价格:<input type="text" name="price"/> <br/>
<input type="submit" value="提交" />
</form>
</body>
</html>
java代码 Controller类:
package com.czxy.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ShowController {
@RequestMapping("/T01")
public String T01(String name,Double price){
System.out.println(name);
System.out.println(price);
return "/test/T01";
}
}
运行结果:
解决方法:
在WEB-INF的web.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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
问题解决: