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";//跳转到参数渲染的页面
    }
相关推荐
NE_STOP1 天前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
JavaGuide2 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
玹外之音2 天前
Spring AI MCP 实战:将你的服务升级为 AI 可调用的智能工具
spring·ai编程
来一斤小鲜肉2 天前
Spring AI入门:第一个AI应用跑起来
spring·ai编程
NE_STOP2 天前
springMVC-常见视图组件与RESTFul编程风格
spring
what丶k3 天前
Spring AI 多模态开发全解析:从入门到企业级落地
后端·spring·ai编程
NE_STOP3 天前
springMVC-获取前端请求的数据与三个作用域
spring
莫寒清3 天前
Spring MVC:@PathVariable 注解详解
java·spring·mvc
-大头.3 天前
从 0 开始理解 Spring 的核心思想 —— IoC 和 DI(1)
spring
莫寒清3 天前
Apache Tika
java·人工智能·spring·apache·知识图谱