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";//跳转到参数渲染的页面
    }
相关推荐
海波东5 小时前
某m大厂面经1
java·spring
荆州克莱6 小时前
Mysql学习笔记(一):Mysql的架构
spring boot·spring·spring cloud·css3·技术
程序猿锦鲤10 小时前
减少 try...catch,定义全局统一异常处理器!
java·开发语言·spring
IT枫斗者13 小时前
Springboot配置全局异常通用返回
java·服务器·spring boot·后端·spring·状态模式
Be_Somebody16 小时前
Maven打包项目的精准指定——流程管理
java·spring boot·spring·spring入门
鹿屿二向箔17 小时前
基于SSM(Spring + Spring MVC + MyBatis)框架的快递管理系统
spring·mvc·mybatis
黑马师兄18 小时前
SpringMVC
java·后端·spring
计算机聚众网络18 小时前
008_SSH_Sqlserverl图书管理系统(学生注册 借书 还书)_lwplus87(免费送)
java·spring boot·spring·eclipse·maven·hibernate
cuisidong199719 小时前
Spring声明式事务 编程式事务
java·数据库·spring
南城花随雪。20 小时前
Spring框架之策略模式 (Strategy Pattern)
java·spring·策略模式