接收请求参数及数据回显

一、处理提交数据

沿用上一篇博客项目!

1.1、提交的域名称和处理方法的参数名一致

提交数据:http://localhost:8080/hello?name=Massimo
处理方法:

 @RequestMapping("hello")
    public String hello(String name){
        System.out.println(name);
        return "hello";
    }

后台输出:Massimo

1.2、提交的域名称和处理方法的参数名不一致

提交数据:http://localhost:8080/hello?username=Massimo
处理方法:

//@RequestParam("username")  username提交的域的名称
    @RequestMapping("hello")
    public String hello(@RequestParam("username") String name){
        System.out.println(name);
        return "hello";
    }

后台输出:Massimo

1.3、提交的是一个对象

实体类:

package com.massimo.pojo;

public class User {
    private int id;
    private String name;
    private int age;

    public User() {
    }

    public User(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

提交的数据:
http://localhost:8080/mvc04/user?name=Massimo&id=1&age=20

处理方法:

@RequestMapping("/user")
    public String user(User user){
        System.out.println(user);
        return "hello";
    }

后台输出:
User{id=1,name=“Massimo”,age=20}

说明:如果使用对象的话,前端传递的参数名和对象名必须一致,否则就是null。

二、数据显示到前端

2.1、第一种:通过ModelAndView

此处省略

2.2、第二种:通过Model

此处省略

2.3、第三种:通过ModelMap

@GetMapping("/hello")
    public String hello(@RequestParam("username") String name , ModelMap model){
        //封装要显示到视图中的数据
       //相当于request.setAttribute("name",name);
       model.addAttribute("msg",name);
       System.out.println(name);
       return "hello";
   }

效果:
在这里插入图片描述

三、对比

对于新手而言简单来说使用区别就是:

  • Model只有寥寥几个方法只适合用于储存数据,简化了新手对于Model对象的操作和理解;
  • ModelMap继承了LinkedMap ,除了实现了自身的一些方法,同样的继承LinkedMap 的方法和特性;
  • ModelAndView可以在储存数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转。

更多的以后开发考虑的更多的是性能和优化,就不能单单仅限于此的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值