SpringMVC传值与取值

一、传值:

第一种:ModelAndvie

css 复制代码
//1.modelAndView
@RequestMapping({"/index"})
public ModelAndView index(){
    //查询数据,获取所有的用户信息
    List<User> userItems = UserData.userItems;
    ModelAndView  mav=new ModelAndView();//ModelAndView存值的情况下方法的返回值必须是ModelAndView
    
    //设置数据(模型)
    mav.addObject("userItems",userItems);
    //设置视图名称
    mav.setViewName("index");
    return mav;
}

第二种、Model

go 复制代码
//2.model
@RequestMapping("/index")
public String index(Model model){
    List<User> userItems = UserData.userItems;
    model.addAttribute("userItems",userItems);
    return "index";
}

第三种、ModelMap modelMap

dart 复制代码
@RequestMapping("index")
public String index(ModelMap modelMap){
    List<User> userItems = UserData.userItems;
    modelMap.addAttribute("userItems",userItems);
    return "index";
}

第四种、Map

css 复制代码
 //4.Map
@RequestMapping("index")
 public String index(Map map){
     List<User> userItems = UserData.userItems;
     map.put("userItems",userItems);
     map.put("a","xiaoxiong");
     return "index";
 } 

第五种、request

csharp 复制代码
 @RequestMapping("/test")
    public String testRequestByServletAPI(HttpServletRequest request) {
   User user= new User();
        //想request作用域中共享数据(存数据)
        request.setAttribute("user", "user");

        return "succeed";//request作用域中存数据转发到相应的页面进行取值
    }

二、取值

1、对象取值

clike 复制代码
@RequestMapping("/testpojo")

    public  String  testpojo(User user){
        //根据实体类获取表单提交的参数
        System.out.println(user);
        return "testpojo";
    }

2、注解取值

clike 复制代码
@RequestMapping("/add")
//RequestParam 的三个参数 value表示name的字段名称required参数是否是必须的
public String add(Integer id,
                  @RequestParam(value = "userName",required = true,defaultValue = "小熊") String Name,
                  @RequestParam(value = "age",required = true,defaultValue = "22") Integer age,
                  @RequestParam(value = "email",required = true,defaultValue = "123@qq.com") String email,
                  @RequestParam(value = "address",required = true,defaultValue = "湖南长沙") String address){
    User user =new User(id,Name,age,email,address);
    UserData.userItems.add(user);
    //重定向到index进行所有的查询
    return "redirect:/index";
}

3、request

clike 复制代码
@RequestMapping("/servltecontrollerapl")
       //方法中定义形参
    public String ServletControllerApl(HttpServletRequest request) {
        //根据页面传入的参数后台进行取值(前端页面传入的参数都全部后端进行取值)
        String username = request.getParameter("username");
        String pas = request.getParameter("password");

        System.out.println(username+"\t"+pas);
        return "test";//跳转到参数渲染的页面
    }
相关推荐
我命由我123453 小时前
Spring Boot - Spring Boot 静态资源延迟响应(使用拦截器、使用过滤器、使用 ResourceResolver)
java·spring boot·后端·spring·java-ee·intellij-idea·intellij idea
迦蓝叶8 小时前
JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
java·运维·人工智能·网关·spring·ai·开源
一叶飘零_sweeeet9 小时前
深入 Spring 内核:解密 15 种设计模式的实战应用与底层实现
java·spring·设计模式
洛克大航海9 小时前
3-SpringCloud-LoadBalancer-OpenFeign服务调用与负载均衡
spring·spring cloud·负载均衡·openfeign·loadbalancer
FreeBuf_10 小时前
Spring两大漏洞可导致泄露敏感信息及安全防护绕过(CVE-2025-41253/41254)
java·安全·spring
RainbowSea10 小时前
11. Spring AI + ELT
java·spring·ai编程
RainbowSea10 小时前
12. 模型RAG评测
java·spring·ai编程
JAVA学习通12 小时前
Spring AI 核心概念
java·人工智能·spring·springai
老K的Java兵器库12 小时前
并发集合踩坑现场:ConcurrentHashMap size() 阻塞、HashSet 并发 add 丢数据、Queue 伪共享
java·后端·spring
RoboWizard21 小时前
扩容刚需 金士顿新款Canvas Plus存储卡
java·spring·缓存·电脑·金士顿