数据处理

处理提交数据

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

    //http://localhost:8080/user/t3?name=小明
    @GetMapping("/t3")
    public String test3(String name, Model model){
        //接收了前端的参数
        System.out.println("接收到前端的参数为:" + name);
        //将返回的结果传递给前端
        model.addAttribute("msg",name);
        return "test";
    }

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

    //http://localhost:8080/user/t1?username=%E5%B0%8F%E6%98%8E
    @GetMapping("/t1")
    public String test1(@RequestParam("username") String name, Model model){
        //接收了前端的参数
        System.out.println("接收到前端的参数为:" + name);
        //将返回的结果传递给前端
        model.addAttribute("msg",name);
        return "test";
    }

提交的是一个对象

        编写实体类

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;
    private int age;
}

        提交数据代码

    //http://localhost:8080/user/t2?id=1&name=小明&age=18
    //前端接受的是一个对象 : id , name , age
    @GetMapping("t2")
    public String test2(User user){
        System.out.println(user);
        return "test";
    }


数据显示到前端

通过ModelAndView

public class HelloController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        //ModelAndView 模型和视图
        ModelAndView mv = new ModelAndView();

        //封装对象,放在ModelAndView中。Model
        mv.addObject("msg", "HelloSpringMVC!");
        //封装要跳转的视图,放在ModelAndView中
        //  /WEB-INF/jsp/hello.jsp
        mv.setViewName("test");
        return mv;
    }
}
    <bean class="com.yuan.controller.HelloController" id="/h1"/>

通过Model和ModelMap

@Controller
@RequestMapping("/c3")
public class ControllerTest3 {
    //映射访问路径
    @RequestMapping("/t1")
    public String test(Model model) {
        //Spring MVC会自动实例化一个Model对象用于向视图中传值
        model.addAttribute("msg", "ControllerTest3...test");
        //返回视图名
        return "test";
    }

    @RequestMapping("/t2")
    public String test2(ModelMap modelMap) {
        //Spring MVC会自动实例化一个Model对象用于向视图中传值
        modelMap.addAttribute("msg", "ControllerTest3...test2");
        //返回视图名
        return "test";
    }
}

对比

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值