zoukankan      html  css  js  c++  java
  • 常用注解

    1、@RequestParam

    1.1、请求

    <a href="test?userName=刘阳">测试</a>

    1.2、处理方法

        //当请求参数名和处理方法的参数名不一致时可使用@RequestParam注解解决
        @RequestMapping("/test")
        public String test(@RequestParam("userName") String name) {
            System.out.println(name);
            return "success";
        }

    2、@PathVariable

    2.1、请求

    <a href="test/liuyang/101">测试</a>

    2.2、处理方法

        //@PathVariable可以解决REST风格的请求URL中的占位符和处理方法的参数的对应问题
        @RequestMapping("/test/{userName}/{mid}")
        public String test(@PathVariable("userName") String name, @PathVariable("mid") Integer id) {
            System.out.println(name);
            System.out.println(id);
            return "success";
        }

    3、@ModelAttribute

    3.1、需求

    User对象有userName、age、password三个属性,修改时password不能被修改,默认情况下,处理方法在绑定User对象时表单中没有的字段会为null,而我们需要的是数据库中字段的值

    3.2、请求

    <form action="test" method="post">
        userName:<input type="text" name="userName"><br>
        age:<input type="text" name="age"><br>
        <input type="submit" value="提交">
    </form>

    3.3、解决方法

    3.3.1、解决方法1-@ModelAttribute标记的方法有返回值

    3.3.1.1、处理方法

        @RequestMapping("/test")
        public String test(User u) {
            System.out.println(u);
            return "success";
        }

    3.3.1.2、@ModelAttribute标记的方法

        //@ModelAttribute修饰的方法会在处理方法执行前执行
        @ModelAttribute
        public User testModelAttribute(String userName) {
            System.out.println(userName);
            User user = new User();//模拟根据userName从数据库中查询User对象
            user.setPassword("123456");
            System.out.println(user);
            return user;
        }

    3.3.2、解决方法2-@ModelAttribute标记的方法没有返回值

    3.3.2.1、处理方法

        @RequestMapping("/test")
        public String test(@ModelAttribute("abc") User u) {
            System.out.println(u);
            return "success";
        }

    3.3.2.2、@ModelAttribute标记的方法

        //@ModelAttribute修饰的方法会在处理方法执行前执行
        @ModelAttribute
        public void testModelAttribute(String userName,Map<String,Object> map) {
            System.out.println(userName);
            User user = new User();//模拟根据userName从数据库中查询User对象
            user.setPassword("123456");
            System.out.println(user);
            map.put("abc",user);
        }
  • 相关阅读:
    JAVA中int、String的类型转换
    MyEclipse 快捷键
    HTTP 协议详解(转)
    HTTP协议详解
    MYSQL类型与JAVA类型对应表
    XML中<beans>中属性概述
    poj 2342 && hdu 1520
    51nod 1873 初中的算术
    AtCoder Grand Contest 014 B
    “玲珑杯”线上赛 Round #17 河南专场 B.震惊,99%+的中国人都会算错的问题
  • 原文地址:https://www.cnblogs.com/liuyang-520/p/12371265.html
Copyright © 2011-2022 走看看