SpringMVC中的常用注解

SpringMVC中的常用注解

RequestParam

使用说明:

​ 作用:1、把请求中指定名称的参数给控制器中的形参赋值

​ 属性:value:请求参数的名称、required:请求参数中是否必须提供该参数,默认为true.

​ 使用位置:控制器参数列表里,并且要注入的参数之前。

使用实例:

//测试使用@RequestParam注解。
@Controller
public class requestParamControlImpl implements IRequestParamControl {
    @RequestMapping(path = "/param")
    public String param(@RequestParam(value = "username")String name){
        System.out.println(name);
        return "success";
    }
}
RequestBody

使用说明:

​ 作用:用于获取请求具体的内容,直接使用得到的是key=value。get请求不适用

​ 属性:required:是否必须要有请求体

​ 使用位置:控制器方法参数列表中

使用实例:

//测试使用@RequestBody
@RequestMapping(path = "/RequestBody")
public String RequestBody(@RequestBody String name){
    System.out.println(name);
    return "success";
}
Pathvaribale

使用说明:

​ 作用:将前端地址栏中的占位符与控制器的参数绑定,获得该占位符的值。如请求中的/springMVC/{id}。这和{id}就是占位符。这是支持Restful风格的表现。

注:什么是RestFul风格。

​ 绑定控制器的url使用占位符。原来的url请求方式如:path=“springMVC/adduser”。而RestFul风格省去“/adduser”。若请求中待有参数,就在绑定控制器的url后面添加占位符:path=“springMVC/{id}”。前端请求时的地址为localhost:8080/springMVC/10。

使用实例:

@RequestMapping(path = "/PathVaribale/{id}")
public String PathVaribale(@PathVariable String name){
    System.out.println(name);
    return "success";
}
ModelAttribute

在此之前首先介绍ModelMap对象

​ ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:addAttribute(String key,Object value);
​ 在页面上可以通过el变量方式$key或者bboss的一系列数据展示标签获取并展示modelmap中的数据。
modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。

使用说明:

​ 作用:1、使用在方法上,表示当前方法会在控制器方法之前执行,

​ 2、使用在参数上,获取指定位置的值给参数赋值

​ 属性:value:获取数据的key

使用案例:

​ 修饰方法

    //测试@ModelAttribute修饰的方法在控制器方法前先执行
@ModelAttribute
public void test(){
    System.out.println("注解@modelAttribut的方法先执行");
}

​ 修饰方法参数

-------------前端页面(没有输入日期这个选项)-------------- 
<form action="annotation/modelAttribute" method="post">
    姓名<input type="text" name="username"><br>
    密码<input type="text" name="password"><br>
    <input type="submit" value="提交"><br>
</form>                 
-------------控制器--------------
//@ModelAttribute修饰的方法在控制器方法前先执行,在user这个对象中先插入当前对象
@ModelAttribute("user")
public user test(){
    System.out.println("注解@modelAttribut的方法先执行");
    user _user=new user();
    _user.setDate(new Date());//添加当前时间到对象中
    return _user;
}
@RequestMapping(path = "/modelAttribute")
public String modelAttrubute(@ModelAttribute("user") user _user){//目的是获取上个user对象
    System.out.println(_user);
    return "success";
}
SessionAttribute

使用说明:

​ 作用:用于多次执行控制器方法之间的参数共享,指定将modelMap中的数据存入到session中。

​ 属性:value:用于指定存入的数据名称

​ type:指定存入的数据参数

使用位置:类之前

@SessionAttributes
public class AnnotationsImpl implements IAnnotations {

    @RequestMapping(path = "/SessionAttribute")
    public String SessionAttribute(Model model){
        model.addAttribute("1","lijie");
        return "success";
    }
}
CookieValue(了解)

使用说明:

​ 作用:通过cookie的名称,将指定的cookie传入到控制器的参数 中

​ 属性:value:cookie的名称

​ required:是否必须拥有此cookie

RequestHeader(了解)

使用说明:

​ 作用:用于获得请求的消息头

​ 属性:value:提供消息头的名称

​ required:是否必须拥有次消息头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值