SpringMVC学习笔记05-----------数据处理
简介
SpringMVC为我们提供了十分方便的数据处理方案,大大提升了我们开发的效率,下面就让我们一起见识一下SpringMVC数据处理的强大之处吧!
处理提交数据
1. 提交的参数名称与控制器处理方法的参数名一致
提交数据 : http://localhost:8080/data/t1?name=张三
处理方法:
@RequestMapping("/t1")
public String test01(String name, Model model) {
System.out.println(name);
model.addAttribute("msg", name);
return "hello";
}
后台输出 张三。
这种情况提交的参数可以直接在后台获取。
2. 提交的参数名称与控制器处理方法的参数名不一致时
提交数据 : http://localhost:8080/data/t1?username=张三
处理方法:
@RequestMapping("/t1")
public String test01(@RequestParam("username") String name, Model model) {
System.out.println(name);
model.addAttribute("msg", name);
return "hello";
}
后台输出:张三
这种情况需要借助@RequestParam()
注解
3. 提交的是一个对象时
创建pojo类:
package com.xdw.pojo;
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
处理方法:
@RequestMapping("/t2")
public String test02(User user, Model model) {
System.out.println(user.toString());
model.addAttribute("msg", user.toString());
return "hello";
}
请求:http://localhost:8080/data/t2?id=1&name=张三&age=1
后台输出: User{id=1, name='张三', age=1}
当传递的对象是一个参数时,需要保证url中的参数名与pojo对象的属性一致,这样SpringMVC就可以直接获取数据了!
数据显示到前端
通过ModelAndView
@RequestMapping("/t3")
public ModelAndView test03() {
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("msg", "ModelAndView");
return mv;
}
通过ModelMap
@RequestMapping("/t4")
public String test04(ModelMap modelMap) {
modelMap.addAttribute("msg", "测试");
return "hello";
}
通过model
@RequestMapping("/t5")
public String test05(Model model) {
model.addAttribute("msg", "model");
return "hello";
}
三种方式的对比
就对于新手而言简单来说使用区别就是:
Model 只有寥寥几个方法只适合用于储存数据,简化了新手对于Model对象的操作和理解;
ModelMap 继承了 LinkedMap ,除了实现了自身的一些方法,同样的继承 LinkedMap 的方法和特性;
ModelAndView 可以在储存数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转。
请使用80%的时间打好扎实的基础,剩下18%的时间研究框架,2%的时间去学点英文,框架的官方文档永远是最好的教程。
分类:
SpringMVC框架
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫