• @Pathvariable
public ResponseEntity<String> ordersBack(  
        @PathVariable String reqKey,  
        @RequestParam(value="intVal") Integer intVal,  
        @RequestParam(value="strVal") String strVal) throws Exception{  
    return new ResponseEntity("ok", HttpStatus.OK);  
  当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。这样就可以实现类似restful风格的请求。
  • @RequestParam
  A) 常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况( String--> 简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理post方式中 body data的值;
  B)用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容,提交方式GET、POST;
  C) 该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定
@Controller 
@RequestMapping("/pets") 
@SessionAttributes("pet") 
publicclass EditPetForm { 
    @RequestMapping(method = RequestMethod.GET) 
    public String setupForm(@RequestParam("petId") int petId, ModelMap model) { 
        Pet pet = this.clinic.loadPet(petId); 
        model.addAttribute("pet", pet); 
        return"petForm"; 
    } 
}
  其作用实际就是将url中?后面部分请求参数作为参数的一部分。
  • @RequestBody
  @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象。POST模式下,使用@RequestBody绑定请求对象,Spring会帮你进行协议转换,将Json、Xml协议转换成你需要的对象。
  • @ResponseBody
  @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适HttpMessageConverter的Adapter转换对象,写入输出流。表示该方法的返回结果直接写入HTTP response body中。
  一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。@ResponseBody可以标注任何对象,由Srping完成对象——协议的转换。
@Controller  
public class PersonController {  
  
    /** 
     * 查询个人信息 
     *  
     * @param id 
     * @return 
     */  
    @RequestMapping(value = "/person/profile/{id}/{name}/{status}", method = RequestMethod.GET)  
    public @ResponseBody  
    Person porfile(@PathVariable int id, @PathVariable String name,  
            @PathVariable boolean status) {  
        return new Person(id, name, status);  
    }  
  
    /** 
     * 登录 
     *  
     * @param person 
     * @return 
     */  
    @RequestMapping(value = "/person/login", method = RequestMethod.POST)  
    public @ResponseBody  
    Person login(@RequestBody Person person) {  
        return person;  
    }  
}  

  @InitBinder

  表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 该标签是进行数据类型转换的,将string类型转为自定义的类型。

@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}

最新文章

  1. iOS 适配iOS9
  2. Lattice Diamond 和 ispLEVER 的不同之处
  3. UISwitch控件的使用
  4. mysql 防止update/delete误操作
  5. Hadoop中的辅助类ToolRunner和Configured的用法详解
  6. 【转载】va_list 可变参数 简介 va_copy vprintf
  7. Api项目压力测试知识荟萃
  8. SmaterWeatherApi---签名加密和数据訪问--简单粗暴一步搞定
  9. CentOS 修改Mysql的root密码
  10. 最优雅SSM框架:SpringMVC + Spring + MyBatis
  11. Java中的注释-快捷键
  12. Query DSL(2)----Full text queries
  13. UNIX标准及实现
  14. .NET 单元测试的利剑——模拟框架Moq(简述篇)
  15. matlab练习程序(旋转矩阵、欧拉角、四元数互转)
  16. (大数 string easy。。。)P1781 宇宙总统 洛谷
  17. HTTP协议04-返回状态码
  18. LOG4NET用法(个人比较喜欢的用法)
  19. 微信6.7.4 ios12 软键盘收回时页面不回弹,导致光标位置错乱,再次点击输入框区域时无法focus
  20. ql常见面试题 受用了

热门文章

  1. WCF自定义Header
  2. MySQL Database on Azure
  3. 大话设计模式C++版——装饰模式
  4. 【原】js实现复制到剪贴板功能,兼容所有浏览器
  5. 谈谈 Google 的 Test Certified
  6. Editor扩展之查看Prefab用在那儿
  7. 全息眼镜HoloLens可快速捕捉真人3D图像
  8. jsp前三章测试
  9. js中控制小数点的显示位数的技术整理
  10. 关于button和form提交的一些问题