Controller返回给前台的字符串乱码,应该加什么注解
时间: 2024-03-23 13:43:28 浏览: 18
如果Controller返回给前台的字符串出现了乱码,可以通过在Controller方法上添加`produces`属性来指定返回的字符串编码方式,如下所示:
```java
@RequestMapping(value = "/test", produces = "text/plain;charset=UTF-8")
@ResponseBody
public String test() {
String str = "返回给前台的字符串";
return str;
}
```
其中,`produces`属性指定返回的字符串类型及编码方式,这里使用了UTF-8编码方式。这样设置后,前台接收到的字符串就能够正确解码,避免出现乱码。
另外,也可以在全局配置中添加如下设置,统一设置Controller返回的字符串编码方式:
```java
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
converters.add(converter);
super.configureMessageConverters(converters);
}
}
```
这样设置后,所有Controller返回的字符串都会使用UTF-8编码。