@RequestMapping("update.do")
@ResponseBody
public String update(HttpServletRequest request) {
int i = MybatisUtils.update("menu.mysql.updateMenu", SpringUtils.getParameter(request));
if(i == 0){
return "更新失败";
}
return "更新成功";
}
spring-mvc配置文件
<mvc:annotation-driven>
<!-- 解决返回String时乱码-->
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
1# <value>text/plain;charset=UTF-8</value>
2# <value>text/html;charset=UTF-8</value>
开始只配了1#结果还是不行,估计是按照指定类型来设置的,返回的String它当成text/html类型,所以要添加2#种才可以解决乱码。
StringHttpMessageConverter类中默认编码ISO-8859-1,它的父类AbstractHttpMessageConverter含有private List<MediaType> supportedMediaTypes属性。
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");