@Controller @RequestMapping("/articlecontent") public class ArticleContentController {

@Autowired
private TestService testService;

@Autowired
private ArticleContentService articleContentService;

private Logger logger=LoggerFactory.getLogger(ArticleContentController.class);

@RequestMapping(value="/articlecontentadd",method=RequestMethod.GET)
public String articleContentAdd(Model model) {
	model.addAttribute("appExtStr", testService.getAppExtStr());
	return "articlecontent/articlecontentadd";
}

@RequestMapping(value="/articlecontentdetail",method=RequestMethod.POST)
public void articleContentDetail(Model model,@RequestBody Map<String, Object> map, HttpServletRequest request,  HttpServletResponse response) {
	Map<String,Object> result = new HashMap<String,Object>();
	Map<String,Object> articleMap =articleContentService.getArticleContent(map).get(0);
	result.putAll(articleMap);
	MvcHelper.WriteResponseInfo(response,result, request.getCharacterEncoding());
}

@RequestMapping(value="/articlecontentadds",method=RequestMethod.POST)
public void articleContentAdds(Model model,@RequestBody Map<String, Object> map, HttpServletRequest request,  HttpServletResponse response) {
	Map<String,Object> result = new HashMap<String,Object>();
	map.put("Creater", "zhoujun");
	int number =articleContentService.insertArticleContent(map);
	if(number > 0) {
		result.put("rtnCnt", "1");
	}else {
		result.put("rtnCnt", "0");
	}
	MvcHelper.WriteResponseInfo(response,result, request.getCharacterEncoding());
}

@RequestMapping(value="/articlecontentlist",method=RequestMethod.POST)
public void articleContentList(Model model,@RequestBody Map<String, Object> map, HttpServletRequest request,  HttpServletResponse response) {
	Map<String,Object> result = new HashMap<String,Object>();
	Map<String, Object> pMap = MvcHelper.getPagerParams(map);
	int totalCnt =articleContentService.getArticleContentListCnt(pMap);
	int totalPage = MvcHelper.getTotalPage(pMap, totalCnt);
	result.put("listMap", articleContentService.getArticleContentList(pMap));
	result.put("totalCnt", totalCnt);
	result.put("totalPage", totalPage);
	MvcHelper.WriteResponseInfo(response,result, request.getCharacterEncoding());
}

} public class MvcHelper {

public static void WriteResponseInfo(HttpServletResponse response,Object dataObj,String characterEncoding){
	ObjectMapper jacksonObjectMapper = new ObjectMapper();
       String jsonFormatMapResultString = null;
	try {
		jsonFormatMapResultString = jacksonObjectMapper.writeValueAsString(dataObj);
	} catch (JsonProcessingException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
       //response.setContentType(request.getContentType());
       response.setCharacterEncoding(characterEncoding);
       try {
		response.getWriter().print(jsonFormatMapResultString);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}


public static Map<String, Object> getPagerParams(Map<String, Object> map){
	int pageIndex =Integer.valueOf(String.valueOf(map.getOrDefault("PageIndex", "1")));
	int pageSize = Integer.valueOf(String.valueOf(map.getOrDefault("PageSize", "10")));
	int firstRowIndex = (pageIndex - 1) *pageSize + 1;
	int lastRowIndex = pageIndex * pageSize;
	map.put("firstRowIndex", firstRowIndex);
	map.put("lastRowIndex", lastRowIndex);
	return map;
}

public static int getTotalPage(Map<String, Object> map,int totalCnt) {
	int totalPage = 0;
	int pageSize = Integer.valueOf(String.valueOf(map.getOrDefault("PageSize", "10")));
	// this.TotalCnt % this.PageSize == 0 ? this.TotalCnt / this.PageSize : Math.ceil(this.TotalCnt / this.PageSize) ;
	totalPage = totalCnt % pageSize == 0 ? totalCnt/pageSize : (int)Math.ceil((double)totalCnt/pageSize);
	return totalPage;
}

}