zoukankan      html  css  js  c++  java
  • springMVC中绑定参数的常用注解

    1.@RequestMapping用来映射一个请求或方法,它有几个属性(value,methed,consumes:数据类型,如json,produces:返回类型如json,params,headers),当使用多个属性时,必须带value,只有value属性时

    RequestMapping("/test")==RequestMapping(value="/test")

    2.@RequestParam

    有四个属性:name,value,required(是否必须绑定参数,默认为true,当不一定绑定参数时,需要用false,不然没参数时会报错),defaultValue(如果没有传递参数则使用默认值)

    用法:直接在方法的参数里使用,比如

    3.@RequestMapping("/XX")

    public String hello(@RequestParam("name")String name){}

    //public String hello(@RequestParam(value="name",required=true,defaultValue="admin"){}

    @PathVariable注解

    此注解是获得URL(请求)中的动态参数,只有一个属性value(String),如:

    请求为:/test/${id}

    @RequestMapping(value="/test/{id}")

    public void test(@PathVariable Integer id)

    当然也可以:

    @RequestMapping("/test")

    public void test(@RequestParam("id")Integer id){ }

    4.@SessionAttributes

    指定Model中的哪些属性转存到HttpSession对象中.

    此注解只能声明在类上,不能声明在方法上.

    如:

    @SessionAttribute("user");

    在方法中:

    Model model;

    model.addAttribute("user",user);

    将Model中的属性名为user的属性放入HttpSession对象中.

    也可以这样写:

    @SessionAttributes(type={User.class},value="user")

    @SessionAttributes(type={User.class,Student.class},value={"user","student"})

    前台获取:

    ${requestScope.user.userName}

    5.@ModelAttribute

    此注解也是绑定参数到Model上,但是在Controller的每个方法前被执行,如:

    @ModelAttribute("test")

    public String test(@RequestPara("tets")String test)){

    retrun test;

    }

    return相当于是model.addAttribute("test",test);

    在前台使用:${requestScope.test}

    具体的可以参考http://blog.csdn.net/catoop/article/details/51171108

    6.@ResponseBody

    此注解表示该方法的返回结果直接写入HTTP response body中,

    一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。

    如:

    @RequestMapping("/json")

    @RequestBody

    public Object hh(){

    List bookList=new ArraryList();

    list.add(new book(1,"spring","hh"));

    return list;

    }}

    此方法会将List集合数据转换成json格式,然后将其返回到客户端.

    同时,@ReqestBody也可以处理xml数据.

  • 相关阅读:
    Java 学习笔记(三)调用 bat 或 shell 脚本执行
    Git 学习笔记之(四)在 linux 服务器上 通过 git 命令进行操作
    yum 的使用
    最权威的html 标签属性大全
    webstrom常用快捷键
    CSS样式大全(整理版)
    springboot系列五:springboot整合mybatisplus jsp
    dataX的安装
    where / having / group by / order by / limit 简单查询
    mysql的优化总结
  • 原文地址:https://www.cnblogs.com/yeleia/p/7535591.html
Copyright © 2011-2022 走看看