responseBody注解可以直接返回字符串 && springMVC Controller get请求返回字符串是中文乱码解决


 

    //获取商品描述信息(html片段)字符串返回给前台填充html
    @RequestMapping(value="/item/desc/{itemId}",produces=MediaType.TEXT_HTML_VALUE+";charset=utf-8")
    @ResponseBody public String getItemDesc(@PathVariable Long itemId){
        String result = itemService.getItemDescById(itemId);
        return result;
    }

注意:

如果 SpringMVC 的 Controller 中需要向前台返回字符串(比如ajax的get请求) 可以把 方法的返回值设置成 String 同时在  @RequestMapping 注解中加入produces属性设置返回字符串的编码来避免前台乱码,然后在方法前面加上 @ResponseBody注解

解释1:如果不加 ResponseBody注解,同时返回值为 String时 SpringMVC 会认为返回的是一个 jsp 视图。

解释2:ResponseBody注解,当返回值是个对象时,此注解会将对象转换为json串返回给前台;而当返回值是个字符串时,此注解会原样返回字符串到前台

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM