SpringMVC学习笔记五:数据处理

6、数据处理

6.1、处理地址栏数据

新建一个Controller

@RestController
public class DataController {
    
    

}
  1. 当提交的数据名和处理接受的参数一致时。
    @RequestMapping("/data/t1")
    public void t1(String name) {
    
    
        System.out.println(name);
    }

在这里插入图片描述
在这里插入图片描述
2. 当提交的数据名和处理接受的参数不一致时。

    @RequestMapping("/data/t2")
    public void t2(@RequestParam("username") String name) {
    
    
        System.out.println(name);
    }

在这里插入图片描述
在这里插入图片描述
3. 获取一个对象

    @RequestMapping("/data/t3")
    public void t2(User user) {
    
    
        System.out.println(user);
    }

在这里插入图片描述

在这里插入图片描述
说明:如果使用对象的话,前端传递的参数名和对象名必须一致,否则就是null。

6.2、将数据显示到前端

  1. 通过ModelAndView对象
public class ControllerTest1 implements Controller {
    
    
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
    
    
        //返回一个模型视图对象
        ModelAndView mv = new ModelAndView();
        mv.addObject("msg","ModelAndView");
        mv.setViewName("test");
        return mv;
    }
}
  1. 通过ModelMap

ModelMap

@RequestMapping("/hello")
public String hello(String name, ModelMap model){
    
    
    model.addAttribute("name",name);
    System.out.println(name);
    return "hello";
}
  1. 通过Model
@RequestMapping("/hello1")
public String hello(String name, Model model){
    
    
    model.addAttribute("msg",name);
    System.out.println(name);
    return "test";
}

6.3、对比

现阶段初级使用区别就是:

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

6.4、SpringMVC解决乱码问题

乱码问题是每一个后端程序员都会遇到的问题,SpringMVC提供了一种机制帮我们解决乱码问题,我们需要在web.xml中配置。

<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

配置web.xml后,不要忘了重启Tomcat。

猜你喜欢

转载自blog.csdn.net/weixin_51624761/article/details/124337431