首页 > 代码库 > @Responsebody注解
@Responsebody注解
@RequestBody
作用:
i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
使用时机:
A) GET、POST方式提时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
- multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
- 其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
B) PUT方式提交时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 必须;
- multipart/form-data, 不能处理;
- 其他格式, 必须;
说明:request的body部分的数据编码格式由header部分的Content-Type指定;
@ResponseBody
作用:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
controller层对应栗子:
@Controller @RequestMapping("system/user") public class UserCntroller { @Resource(name="UserService") private UserService userService; @RequestMapping(value = "login" , method = RequestMethod.POST) @ResponseBody public int login(HttpServletRequest request,String account,String password){ boolean loginResult; account = account.trim(); password = password.trim(); int flag =userService.login(account,password); if(flag == 1){ System.out.println("sss"); return 1; }else{ return 0; } } }
js对应栗子:
$.ajax({ type:"POST", url:"system/user/login.do", data:‘account=‘+account+‘&password=‘+password, dataType:"json", async:true, success:function(data){ if(data=http://www.mamicode.com/=1){ location.href="index.html"; } if(data=http://www.mamicode.com/=0){ alert("输入信息有误!!!"); } },
@Responsebody注解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。