ITKeyword,专注技术干货聚合推荐

注册 | 登录

Spring mvc 中处理模型数据 ModelAndView

whereismatrix 分享于 2015-05-10

推荐:处理模型数据 Spring mvc ModelAndView

将模型数据暴露给视图是Spring MVC框架的一项重要工作,SpringMVC提供了多种途径输出模型数据: 1.ModelAndView 2.@ModelAttribute 3.Map及Model 4.@SessionAttr

2020腾讯云共同战“疫”,助力复工(优惠前所未有!4核8G,5M带宽 1684元/3年),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1053

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods


Spring mvc 中处理模型数据  ModelAndView

原文: http://blog.csdn.net/jingyuan_/article/details/9625125

将模型数据暴露给视图是Spring MVC框架的一项重要工作,SpringMVC提供了多种途径输出模型数据:

1.ModelAndView

2.@ModelAttribute

推荐:Spring MVC数据转换

例子:把一个字符串封装而一个对象。 如:username:password格式的数据ZhangSan:1234,我们把这个数据封装成一个User对象。下面分别使用属性编辑器与转换器来实

3.Map及Model

4.@SessionAttributes

例子如下:

[java]  view plain copy
  1. package com.test.controller;  
  2.   
  3. import java.util.Map;  
  4.   
  5. import org.springframework.stereotype.Controller;  
  6. import org.springframework.ui.ModelMap;  
  7. import org.springframework.web.bind.annotation.ModelAttribute;  
  8. import org.springframework.web.bind.annotation.RequestMapping;  
  9. import org.springframework.web.servlet.ModelAndView;  
  10.   
  11. import com.test.model.User;  
  12.   
  13. @Controller  
  14. @RequestMapping("/mavc")  
  15. public class ModelAndViewController {  
  16.     /** 
  17.      * 处理模型数据1:ModelAndView 
  18.      * @return 
  19.      */  
  20.     @RequestMapping("method1")  
  21.     public ModelAndView method1(){  
  22.         ModelAndView mav = new ModelAndView();  
  23.         User u = new User();  
  24.         u.setUserName("1");  
  25.         mav.addObject("user1", u);  
  26.         mav.setViewName("modelandview");  
  27.         return mav;  
  28.     }  
  29.       
  30.     /** 
  31.      * 处理模型数据2:@ModelAttribute 
  32.      * @param user 
  33.      * @return 
  34.      */  
  35.     @RequestMapping("method2")  
  36.     public String method2(@ModelAttribute("user")User user){  
  37.         user.setUserName("汤姆");  
  38.         return "/mavc/handle61";  
  39.     }  
  40.       
  41.     @ModelAttribute("user")  
  42.     public User getUser(){  
  43.         User user = new User();  
  44.         user.setUserName("汤姆");  
  45.         return user;  
  46.     }  
  47.     /** 
  48.      * 处理模型数据3:Map及Model 
  49.      * @param map 
  50.      * @return 
  51.      */  
  52.     @RequestMapping("method3")  
  53.     public String method3(Map<String,Object> map){  
  54.         User user = new User();  
  55.         user.setRealName("汤姆");  
  56.         map.put("user", user);  
  57.         return "/mavc/method3";  
  58.     }  
  59.     @RequestMapping("method4")  
  60.     public String method4(ModelMap modelMap){  
  61.         User user = new User();  
  62.         user.setRealName("汤姆");  
  63.         modelMap.put("user", user);  
  64.         return "/mavc/method4";  
  65.     }  
  66.       
  67.     /** 
  68.      * 处理模型数据4:@SessionAttributes("user") 
  69.      * 详见SessionAttributesController 
  70.      * */  
  71. }  


[java]  view plain copy
  1. package com.test.controller;  
  2.   
  3. import org.springframework.stereotype.Controller;  
  4. import org.springframework.ui.ModelMap;  
  5. import org.springframework.web.bind.annotation.ModelAttribute;  
  6. import org.springframework.web.bind.annotation.RequestMapping;  
  7. import org.springframework.web.bind.annotation.SessionAttributes;  
  8. import org.springframework.web.bind.support.SessionStatus;  
  9.   
  10. import com.test.model.User;  
  11.   
  12. @Controller  
  13. @RequestMapping("/sac")  
  14. @SessionAttributes("user")  
  15. public class SessionAttributesController {  
  16.       
  17.     @ModelAttribute("user")  
  18.     public User getUser(){  
  19.         User user = new User();  
  20.         user.setUserName("汤姆");  
  21.         return user;  
  22.     }  
  23.       
  24.     @RequestMapping("method1")  
  25.     public String method1(@ModelAttribute("user") User user){  
  26.         user.setUserName("Tom");  
  27.         return "redirect:method2";  
  28.     }  
  29.     @RequestMapping("method2")  
  30.     public String method2(ModelMap modelMap,SessionStatus sessionStatus){  
  31.         User user = (User)modelMap.get("User");  
  32.         if(user != null){  
  33.             user.setUserName("Tim");  
  34.             sessionStatus.setComplete();  
  35.         }  
  36.         return "sac/method2";  
  37.     }  
  38. }  


推荐:Spring MVC-Controller和@RequestMapping ModelAndView配置和用法-restful风格

Spring3系列13-Controller和@RequestMapping   Controller返回值,String或者ModelAndView @RequestMapping关联url @RequestMapping的属性   一、      Controll

Spring mvc 中处理模型数据  ModelAndView 原文: http://blog.csdn.net/jingyuan_/article/details/9625125 将模型数据暴露给视图是Spring MVC框架的一项重要工作,SpringMVC提供了多种途径输

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。