Spring框架4--Web MVC--传值

SpringMVC传值:

1、如何获取请求参数值:

  • 利用原有Servlet方法,使用HttpServletRequest
  • 利用@RequestParam(“name”)注解(少量参数):例子:@RequestParam("myName")(myName无值时会抛出异常);@RequestParam(value="myName",required=false)(myName无值时不会抛出异常,无值则不取)
  • 采用实体类封装(大量参数,SpringMVC内部自动封装,实体类setter方法与请求参数key保持一致):原理:Spring自动从request获取参数值,给实体类匹配的setter方法设置值。

 

2、后端传值给页面:

  • 利用原有Servlet方案,使用request.setAttribute();
  • 返回ModelAndView对象
  • (推荐使用)使用Model对象,在参数中加Model对象,在代码中使用Model的方法addAttribute讲参数传回页面。作为了解:等价于@ModelAttribute("myName"),放在传参内

@ModelAttribute("msg") //可以用于数据的提前加载
    //相当于model.addAttribute("show",show);
    //执行时机在@RequestMapping方法之前
    public String findMsg() {
        System.out.println("~~~执行findMsg方法~~~");
        return "您好!";
    }

  • 向Session存储数据:

1.使用Servlet,使用HttpSession参数;

2.使用@SessionAttributes("myName"),含义是:将Model中存储的Key为myName的信息,由Request范围转换成Session范围。

     注意:在使用前要确定Model里面有model.addAttribute("myName", myName);。

     用法:在model加入myName之后再在类前面加入标签@SessionAttributes("myName")

猜你喜欢

转载自blog.csdn.net/qq_38644907/article/details/88190354