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";//跳转到参数渲染的页面
    }
相关推荐
码云数智-园园12 小时前
C++20 Modules 模块详解
java·开发语言·spring
咖啡八杯13 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
Flittly13 小时前
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
java·spring boot·spring
李少兄14 小时前
从原理到实战:Spring IoC/DI 核心知识体系与高频面试题全解
java·后端·spring
shushangyun_14 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
ofoxcoding14 小时前
在AI API聚合平台配置DeepSeek V3.2提示词缓存实战:快速接入与成本优化指南
人工智能·spring·缓存·ai
一杯奶茶¥16 小时前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
摇滚侠18 小时前
SpringMVC 入门到实战 RESTFul 49-55
java·开发语言·后端·spring·intellij-idea·restful
我登哥MVP18 小时前
SpringCloud Alibaba 核心组件解析:服务链路追踪
java·spring boot·后端·spring·spring cloud·java-ee·maven
Ysouy18 小时前
Spring Data Elasticsearch 全流程学习教程
java·spring·elasticsearch