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);
        }
  • 相关阅读:
    DNX SDK版本 “dnx-clr-win-x86.1.0.0-beta5”无法安装
    【循序渐进MVC】第一回——一物多用Project.json依赖关系之dependencies节点
    ASP.NET页面中去除VIEWSTATE视图状态乱码
    git入门操作命令(转载)
    论火车票订单系统中并发问题和锁机制的探讨(转载)
    如何取消MSSQL自带智能提示步骤,使用第三方智能提示插件
    查看Windows服务器登录日志
    浅谈分布式计算系统和集群系统的区别
    数据库设计优化经验谈(转载)
    程序性能优化之防止装箱将拆装箱最小化
  • 原文地址:https://www.cnblogs.com/liuyang-520/p/12371265.html
Copyright © 2011-2022 走看看