springmvc常用注解

RequestParam注释

注释是在方法参数里
当使用该注释时,可以让参数名和前端参数名不一致,但前端参数名必须与RequestParam注释属性名一样。

@RequestMapping("/RequestParam")
    private String TestRequestParam(@RequestParam("name") String n){
        System.out.println(n);
        return "success";
    }

RequestBody注释

注释是在方法参数里
该注释可以多个属性一起封装到一个属性里面
后台代码:

@RequestMapping("/RequestBody")
    private String TestRequestBody(@RequestBody String body){
        System.out.println(body);
        return "success";
    }

前台代码:

<!-- RequestBody注释 -->
<form action="anno/RequestBody" method="post">
    姓名:<input type="text" name="name"><br/>
    密码:<input type="text" name="pwd"><br/>
    <input type="submit" value="提交">
</form>

PathVariable注释

注释是在方法参数里
作用是拥有绑定url中的占位符的。
后台代码:

@RequestMapping(path = "/PathVariable/{sid}")
    private String TestPathVariable(@PathVariable("sid") String id){
        System.out.println(id);
        return "success";
    }

前台代码:

<!-- PathVariable注释 -->
<a href="anno/PathVariable/10">PathVariable注释</a>

RequestHeader注释

注释是在方法参数里
作用是获取消息头
后台代码:

@RequestMapping(path = "/RequestHeader")
    private String TestRequestHeader(@RequestHeader("Accept") String header){
        System.out.println(header);
        return "success";
    }

前台代码:

<!-- RequestHeader注释 -->
<a href="anno/RequestHeader?header=qwer">RequestHeader注释</a>

CookieValue注释

注释是在方法参数里
作用是获取cookie的值
后台代码:

@RequestMapping(path = "/CookieValue")
    private String TestCookieValue(@CookieValue(value = "JSESSIONID") String CookieValue){
        System.out.println(CookieValue);
        return "success";
    }

前台代码:

<!-- CookieValue注释 -->
<a href="anno/CookieValue">CookieValue注释</a>

ModelAttribute注释

注释是在方法参数里,也可以在方法体上
作用是当该注释在方法体上时,它将先执行方法,然后在执行另外的方法
1.当有该注释的方法有返回值时,接下来执行的方法不需要在参数体里面添加该注释
2.当有该注释的方法无返回值时,接下来执行的方法需要在参数体里面添加该注释,并且需要在该方法上使用Map集合

后台代码:

@RequestMapping(path = "/ModelAttribute")
    private String TestModelAttribute(@ModelAttribute(value = "abc") User user){
        System.out.println(user);
        return "success";
    }

    @ModelAttribute
    private void TestModelAttributeShow(String name, Map<String,User> map){
        System.out.println("Show");
        User users=new User();
        users.setName(name);
        users.setPwd("123");
        users.setDate(new Date());
        map.put("abc",users);
    }

    /**
     * @param name

    @ModelAttribute
    private User TestModelAttributeShow(String name){
        System.out.println("Show");
        User users=new User();
        users.setName("123");
        users.setPwd("123");
        users.setDate(new Date());
        return users;
    }*/

前台代码:

<!-- ModelAttribute注释 -->
<form action="anno/ModelAttribute" method="post">
    姓名:<input type="text" name="name"><br/>
    密码:<input type="text" name="pwd"><br/>
    <input type="submit" value="提交">
</form>

SessionAttributes注释

该注释只能使用在类上,如:

@SessionAttributes(value = "aaa")//相当于把request里面的存一份在session域对象里
public class AnnoController {.......}

作用是可以将其数据存放在Session域对象里面

后台代码:

@RequestMapping(path = "/SessionAttributes")
    private String TestSessionAttributes(Model model){
        System.out.println("123");
        //底层将会存储到request域对象
        model.addAttribute("aaa","123");
        return "success";
    }

    /**
     * 从Session里面取值
     * @param modelMap
     * @return
     */
    @RequestMapping(path = "/GetSessionAttributes")
    private String GetSessionAttributes(ModelMap modelMap){
        System.out.println("123456");
        String msg= (String) modelMap.get("aaa");
        System.out.println(msg);
        return "success";
    }

    /**
     * 清除
     * @param status
     * @return
     */
    @RequestMapping(path = "/DelSessionAttributes")
    private String DelSessionAttributes(SessionStatus status){
        System.out.println("123456");
        status.setComplete();
        return "success";
    }

前台代码;

<!-- SessionAttributes注释 -->
<a href="anno/SessionAttributes">SessionAttributes注释</a>
<br/>
<a href="anno/GetSessionAttributes">GetSessionAttributes获得</a>
<br/>
<a href="anno/DelSessionAttributes">DelSessionAttributes删除</a>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值