Spring MVC 从 Controller向页面传值的方式

本文详细介绍了Spring MVC中四种常用的数据传递方式:通过ModelAndView、ModelMap、@ModelAttribute及HttpSession进行数据传递的方法,每种方式都附带了具体的代码示例。

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

1、利用ModelAndView页面传值
后台程序如下:
    @RequestMapping(value="/reciveData",method=RequestMethod.GET)
    public ModelAndView StartPage() {
         ModelMap map=new ModelMap();
         User user=new User();
         user.setPassword("123456");
         user.setUserName("ZhangSan");
         map.put("user", user);
    return new ModelAndView("reciveControllerData",map);

页面程序如下:
    <body>
    <h1>recive Data From Controller</h1>
    <br>
      用户名:${user.userName }   
     <br>
      密码:${user.password }
</body>
</html>
注意:
     ModelAndView总共有七个构造函数,其中构造函中参数model就可以传参数。具体见ModelAndView的文档,model是一个Map对象,在其中设定好key与value值,之后可以在视图中取出。
从参数定义Map<String, ?> model ,可知,任何Map的对象,都可以作为ModeAndView的参数。
2、 ModelMap作为函数参数调用方式
@RequestMapping(value="/reciveData2",method=RequestMethod.GET)
    public ModelAndView StartPage2(ModelMap map) {      
         User user=new User();
         user.setPassword("123456");
         user.setUserName("ZhangSan"); 
         map.put("user", user);
    return new ModelAndView("reciveControllerData");
}
3、使用@ModelAttribute注解
方法1:@modelAttribute在函数参数上使用,在页面端可以通过HttpServletRequest传到页面中去
@RequestMapping(value="/reciveData3",method=RequestMethod.GET)
    public ModelAndView StartPage3(@ModelAttribute("user") User user) {      
   user.setPassword("123456");
       user.setUserName("ZhangSan");  
       return new ModelAndView("reciveControllerData");
    }
方法2:@ModelAttribute在属性上使用
@RequestMapping(value="/reciveData4",method=RequestMethod.GET)
    public ModelAndView StartPage4() {       
       sthname="LiSi";
 return new ModelAndView("reciveControllerData");

 /*一定要有sthname属性,并在get属性上取加上@ModelAttribute属性*/
      private String sthname;  
    @ModelAttribute("name") 
        public String getName(){ 
           return sthname; 

    }                       
4、   接用httpServletRequest的Session保存值。
@RequestMapping(value="/reciveData5",method=RequestMethod.GET)
        public ModelAndView StartPage5(HttpServletRequest request) {      
         User user=new User();
         user.setPassword("123456");
         user.setUserName("ZhangSan"); 
         HttpSession session=request.getSession();
         session.setAttribute("user", user);
   return new ModelAndView("reciveControllerData");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值