zoukankan      html  css  js  c++  java
  • 【Spring】@ModelAttribute三种使用场景

    @ModelAttribute

    1.用在Controller的方法上:

    每次执行方法时都会先执行@ModelAttribute注解的方法,并将结果添加到model中。

    @ModelAttribute("top")
    public Map top(){
        return pageTop.getDataMap();
    }
    
    @RequestMapping({"", "/", "/home"})
    public String home(@RequestBody(required = false) Map<String, Object> param, Model model) {
        model.addAttribute("model", dataAssembly.homePageData(param));
        return "home";
    }
    

    执行home()前先执行top()将顶部模块数据放到model.

    在home返回的视图中包含top值,可以直接在页面获取.

    2.用在方法的参数上:

    @RequestMapping("/test")
    public String test(@ModelAttribute("top") Map top, Model model) {
        JSONArray ja  = JSONArray.fromObject(map);
        return "test";
    }
    

    可以直接从参数中取值.

    3.用在ControllerAdvice的方法中:

    @ControllerAdvice
    public class GlobalModelData {
        @ModelAttribute
        public Object globalUser() {
            User user = new User();
            user.setUn("xxx");
            return user;
            *//*这里在controller执行前将返回值填充到model中,则可以在model中获取数据*//*
        } 
    }
    

    每个Controller中的方法执行前都会先执行 @ModelAttribute注解标注的方法,并将返回值添加到model

  • 相关阅读:
    sql语句相关操作
    点菜系统数据库课程设计
    JDBC连接mysql编程
    JFrame画图基础和事件监听
    JFrame编程
    Java基础知识
    bzoj1047-理想的正方形(二维单调队列)
    Project Eular 233/ BZOJ 1041
    Open Train 10352
    Codeforces Round 492 (Div.1)
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286676.html
Copyright © 2011-2022 走看看