【SpringMVC】解決@ResponseBody註解返回中文亂碼
阿新 • • 發佈:2019-01-26
@ResponseBody @RequestMapping(value="/toPerBirthday.do") public String getIndexPerBasicInfo(HttpServletRequest request, HttpServletResponse response,ModelMap model) throws Exception{ response.setContentType("text/json"); response.setCharacterEncoding("utf-8"); SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); //查詢人員生日資訊 List<PerBasicInfo> pBasicInfos = personBasicInfoService.findPerBirthdayDay(); List<Map<String, Object>> brithdayList = new ArrayList<Map<String, Object>>(); for(PerBasicInfo pb : pBasicInfos){ Map<String, Object> perBaiscMap = new HashMap<String, Object>(); String birthdayStr = myFormatter.format(pb.getBirthday()); Calendar cToday = Calendar.getInstance(); // 存今天 Calendar cBirth = Calendar.getInstance(); // 存生日 cBirth.setTime(myFormatter.parse(birthdayStr)); // 設定生日 cBirth.set(Calendar.YEAR, cToday.get(Calendar.YEAR)); // 修改為本年 int days; if (cBirth.get(Calendar.DAY_OF_YEAR) < cToday.get(Calendar.DAY_OF_YEAR)) { // 生日已經過了,要算明年的了 days = cToday.getActualMaximum(Calendar.DAY_OF_YEAR) - cToday.get(Calendar.DAY_OF_YEAR); days += cBirth.get(Calendar.DAY_OF_YEAR); } else { // 生日還沒過 days = cBirth.get(Calendar.DAY_OF_YEAR) - cToday.get(Calendar.DAY_OF_YEAR); } perBaiscMap.put("name", pb.getName()); perBaiscMap.put("birthday", birthdayStr); perBaiscMap.put("time", birthdayStr.substring(5, 7).concat(".").concat(birthdayStr.substring(8, 10))); if (days == BasicConstants.DAY_ZERO) { perBaiscMap.put("msg","今天是".concat(pb.getName()).concat("老師的生日") ); }else if (days == BasicConstants.DAY_ONE) { perBaiscMap.put("msg", "明天是".concat(pb.getName()).concat("老師的生日")); }else if (days == BasicConstants.DAY_TWO) { perBaiscMap.put("msg", "後天是".concat(pb.getName()).concat("老師的生日")); } brithdayList.add(perBaiscMap); } System.out.println(brithdayList); System.out.println(JSONArray.toJSONString(brithdayList)); model.addAttribute("sasas", JSONArray.toJSONString(brithdayList,true)); Map<String, Object> perBaiscMap1 = new HashMap<String, Object>(); perBaiscMap1.put("msg","今天是".concat("sasas").concat("老師的生日")); return successJson(perBaiscMap1);