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

本文详细介绍了SpringMVC框架中前后端数据交互的方式,包括从前端获取请求参数的多种方法,如使用HttpServletRequest、@RequestParam注解及实体类封装;以及后端如何通过Model对象、ModelAndView对象和Session存储数据到页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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")

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值