SpringMVC使用stringHttpMessageConverter

本文介绍在SpringMVC中使用@ReponseBody注解时遇到中文乱码的问题及解决方案。通过配置stringHttpMessageConverter,确保返回的中文字符串正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringMVC使用stringHttpMessageConverter

场景演示

当使用@ReponseBody注解的时候,我们知道返回值会被转换成 Json格式.然而里面的中文可能会被转换成乱码,如下面代码中的’测试错误’可能就被转换成‘?????’。显然这对我们的开发很有影响的,这时候超级英雄spring出现了

@Controller
public class tipicalCOntroller{

    @ResponseBody
    @RequestMapping(value = "/test")
    public String text() {
        return "{\"code\":0,\"errmsg\":"测试错误",\"data\":{\"testQuery\":\"测试查询\",\"id\":867820100,\"url\":\"www.baidu.com\"}}";
    }

}

解决方法

  • 在spring的配置文件中加入如下代码配置stringHttpMessageConverter,因为在RsponseBody注解下,Spring处理返回值为String时会用到StringHttpMessageConverter,我们只需要在配置文件中设置好他的编译编码就ok了
	<mvc:annotation-driven>
		<mvc:message-converters>
			<ref bean="stringHttpMessageConverter" />
			<ref bean="mappingJackson2HttpMessageConverter" />
		</mvc:message-converters>
	</mvc:annotation-driven>

	<bean id="stringHttpMessageConverter"
		class="org.springframework.http.converter.StringHttpMessageConverter" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值