在spring mvc中的controller层,若响应的内容包含中文时,需要配置produces属性,如:
@RequestMapping(value="pageAjax",produces="text/html;charset=UTF-8")
@ResponseBody
public String pageAjax(@RequestParam(value="page", defaultValue ="1") String page,
@RequestParam(value="schoolid", defaultValue ="全部") String schoolid,
@RequestParam(value="apptype", defaultValue ="全部") String apptype,
@RequestParam(value="appname", defaultValue ="") String appname){
List<AppList> list = new ArrayList<AppList>();
int count = queryCountService.queryType(schoolid,apptype,appname);
int pageNum = (int)Math.ceil((double)count/10);
list = appListService.queryResult(schoolid,apptype,appname,(Integer.parseInt(page)-1)*10);
PageInfo<AppList> pageInfo = new PageInfo<AppList>();
pageInfo.setCurPage(Integer.parseInt(page));
pageInfo.setPageNum(pageNum);
pageInfo.setResultList(list);
String jsonArray = JSON.toJSONString(pageInfo, false);
return jsonArray;
}
上面的例子中,返回json格式的字符串,其内容中包含了中文,若没有配置produces=”text/html;charset=UTF-8”,响应页面输出时会出现乱码。