6. SpringMVC 数据处理

处理提交数据

  • 提交的url 参数与处理方法的参数名称一致
    请求url localhost://8080/user/t1?name=hunter
@GetMapping("/t1")
public String test1(String name, Model model){
    // 接收前端阐述
    System.out.println("接收到前端参数为:" + name);
    // 返回数据给前端页面
    model.addAttribute("msg", name);
    // 跳转视图
    return "test";
}
  • 提交的url 参数与处理方法的参数名称不一致
    请求url localhost://8080/user/t1?username=hunter
@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;
}

请求url http://localhost:8080/springmvc_04/user/t2?id=1&name=hunter&age=18

@GetMapping("/t2")
public String test2(User user){
    System.out.println(user);
    return "test";
}

ModelMap

@GetMapping("/t3")
public String test3(String name, ModelMap map){
    // 封装要显示到视图的数据
    map.addAttribute("msg", name);
    System.out.println(name);
    return "test";
}

总结:
ModelMap: 继承了 LinkedHashMap,所以它拥有LinkedHashMap的全部功能
Model: 为ModelMap 的精简版,只适合存储数据
ModelAndView:可以在存储数据的同时,设置返回的视图,进行控制展示层的跳转

你可能感兴趣的:(6. SpringMVC 数据处理)