@ResponseBody的作用

来源:互联网 发布:沙盘软件多开器 编辑:程序博客网 时间:2024/06/07 16:30

作用: 

      该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

使用时机:

      返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;


如,返回的是一个page分页对象

@ResponseBody@RequestMapping("/localIdentifyCheckList")public Page<TmCreditHistory> localIdentifyCheckList(String appNo){Page<TmCreditHistory> page = new Page<TmCreditHistory>();List<TmCreditHistory> tmCreditHistoryList = new ArrayList<TmCreditHistory>();try {tmCreditHistoryList = commonService.checkIdentifyForLocal(appNo);} catch (ProcessException e) {logger.error(LogPrintUtils.printAppNoLog(appNo, null)+"获取核身信息失败!["+e.getMessage()+"]");}for (TmCreditHistory tmCreditHistory : tmCreditHistoryList) {page.getRows().add(tmCreditHistory);}return page;}

如:返回的是json串

@ResponseBody@RequestMapping("/netWorkNciic")public Json netWorkNciic(String appNo){Json json = Json.newSuccess();IdentifyCheckResp resp = null;try {resp = commonService.checkIdentifyForNetWork(appNo);if (resp == null) {IdentifyCheckResp identifyCheckResp = new IdentifyCheckResp();identifyCheckResp.setRspMsg("联机身份核身失败!系统未返回核身结果!");json.setS(true);json.setObj(identifyCheckResp);} else {Date newDate = DateUtils.stringToDate(resp.getEntrustDate(),DateUtils.FULL_THRID_LINE);resp.setEntrustDate(DateUtils.dateToString(newDate, DateUtils.FULL_SECOND_LINE));json.setS(true);json.setObj(resp);}} catch (ParseException e) {logger.error("日期格式转换错误!"+e.getMessage());} catch (Exception e) {IdentifyCheckResp resp1 = new IdentifyCheckResp();resp1.setRspMsg("联机身份核身失败!["+e.getMessage()+"]");resp1.setEntrustDate("");json.setS(true);json.setObj(resp1);logger.error(LogPrintUtils.printAppNoLog(appNo, null)+"联机失败!["+e.getMessage()+"]");}return json;}

如这种返回一个页面的就不需要:

@RequestMapping("/whichQueryMethod")public String whichQueryMethod(String localOrCis,String appNo){setAttr("localOrCis", localOrCis);setAttr("appNo", appNo);return "apply/common/cis5OrgProductBut_V1.ftl";}


原创粉丝点击