如何将控制层的数据有效传输至视图层?
- 内容介绍
- 文章标签
- 相关推荐
本文共计628个文字,预计阅读时间需要3分钟。
如何将控制层的返回数据传递给视图层,以下是一些方法:
1. 通过Model对象存储数据java// 方式1:存储数据@RequestBody@RequestMapping(/selectUser)public String selectUser(Model model) { User user=new User(); // ... 设置user属性 model.addAttribute(user, user); return userDetail;}
2. 使用ModelMap存储数据java// 方式2:使用ModelMap@RequestBody@RequestMapping(/selectUser)public String selectUser(ModelMap modelMap) { User user=new User(); // ... 设置user属性 modelMap.put(user, user); return userDetail;}
3. 直接使用Map存储数据java// 方式3:直接使用Map@RequestBody@RequestMapping(/selectUser)public String selectUser(Map map) { User user=new User(); // ... 设置user属性 map.put(user, user); return userDetail;}
4. 使用ModelAndViewjava// 方式4:使用ModelAndView@RequestBody@RequestMapping(/selectUser)public ModelAndView selectUser() { User user=new User(); // ... 设置user属性 ModelAndView modelAndView=new ModelAndView(userDetail); modelAndView.addObject(user, user); return modelAndView;}
默认情况下,这些数据都存储在request域中。
怎么将控制层的数据传回到视图
Model ModelMap Map ModelAndView 默认都是存入request域中
1.通过Model存入
存入
@RequestMapping("/selectUser")
public String selectUser(Model model)
{
User user=new User("zhangsan","123",23,new Address("湖北","武汉","汉口大道100号"));
model.addAttribute("user",user);
return "showUser";
}
访问
姓名:${user.uname}<br>2.通过ModelMap或Map存入
@RequestMapping("/selectUser2")
public String selectUser2(ModelMap map)
{
User user=new User("zhangsan2","123",23,new Address("湖北","武汉","汉口大道100号"));
map.put("user",user);
return "showUser";
}
@RequestMapping("/selectUser3")
public String selectUser3(Map map)
{
User user=new User("zhangsan3","123",23,new Address("湖北","武汉","汉口大道100号"));
map.put("user",user);
return "showUser";
}
取值:
同上
3.通过ModelAndView存入
//方式3 存入ModelAndView@RequestMapping("/selectUser4")
public ModelAndView selectUser4()
{
User user=new User("zhangsan4","123",23,new Address("湖北","武汉","汉口大道100号"));
//创建ModelAndView对象
ModelAndView modelAndView=new ModelAndView();
//将需要传递到视图页面的数据存入
modelAndView.addObject("user",user);
//将需要转发的页面存入
modelAndView.setViewName("showUser");
return modelAndView;
}
@RequestMapping("/selectUser5")
public ModelAndView selectUser5()
{
User user=new User("zhangsan5","123",23,new Address("湖北","武汉","汉口大道100号"));
List<User> userList=new ArrayList<User>();
userList.add(new User("zhangsan1","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan2","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan3","123",23,new Address("湖北","武汉","汉口大道100号")));
ModelAndView modelAndView=new ModelAndView();
ModelMap modelMap=new ModelMap();
modelMap.addAttribute("user",user);
modelMap.addAttribute("userList",userList);
//将所有的数据 通过 map集合的方式存入
modelAndView.addAllObjects(modelMap);
modelAndView.setViewName("showUser2");
return modelAndView;
}
取值 同上
本文共计628个文字,预计阅读时间需要3分钟。
如何将控制层的返回数据传递给视图层,以下是一些方法:
1. 通过Model对象存储数据java// 方式1:存储数据@RequestBody@RequestMapping(/selectUser)public String selectUser(Model model) { User user=new User(); // ... 设置user属性 model.addAttribute(user, user); return userDetail;}
2. 使用ModelMap存储数据java// 方式2:使用ModelMap@RequestBody@RequestMapping(/selectUser)public String selectUser(ModelMap modelMap) { User user=new User(); // ... 设置user属性 modelMap.put(user, user); return userDetail;}
3. 直接使用Map存储数据java// 方式3:直接使用Map@RequestBody@RequestMapping(/selectUser)public String selectUser(Map map) { User user=new User(); // ... 设置user属性 map.put(user, user); return userDetail;}
4. 使用ModelAndViewjava// 方式4:使用ModelAndView@RequestBody@RequestMapping(/selectUser)public ModelAndView selectUser() { User user=new User(); // ... 设置user属性 ModelAndView modelAndView=new ModelAndView(userDetail); modelAndView.addObject(user, user); return modelAndView;}
默认情况下,这些数据都存储在request域中。
怎么将控制层的数据传回到视图
Model ModelMap Map ModelAndView 默认都是存入request域中
1.通过Model存入
存入
@RequestMapping("/selectUser")
public String selectUser(Model model)
{
User user=new User("zhangsan","123",23,new Address("湖北","武汉","汉口大道100号"));
model.addAttribute("user",user);
return "showUser";
}
访问
姓名:${user.uname}<br>2.通过ModelMap或Map存入
@RequestMapping("/selectUser2")
public String selectUser2(ModelMap map)
{
User user=new User("zhangsan2","123",23,new Address("湖北","武汉","汉口大道100号"));
map.put("user",user);
return "showUser";
}
@RequestMapping("/selectUser3")
public String selectUser3(Map map)
{
User user=new User("zhangsan3","123",23,new Address("湖北","武汉","汉口大道100号"));
map.put("user",user);
return "showUser";
}
取值:
同上
3.通过ModelAndView存入
//方式3 存入ModelAndView@RequestMapping("/selectUser4")
public ModelAndView selectUser4()
{
User user=new User("zhangsan4","123",23,new Address("湖北","武汉","汉口大道100号"));
//创建ModelAndView对象
ModelAndView modelAndView=new ModelAndView();
//将需要传递到视图页面的数据存入
modelAndView.addObject("user",user);
//将需要转发的页面存入
modelAndView.setViewName("showUser");
return modelAndView;
}
@RequestMapping("/selectUser5")
public ModelAndView selectUser5()
{
User user=new User("zhangsan5","123",23,new Address("湖北","武汉","汉口大道100号"));
List<User> userList=new ArrayList<User>();
userList.add(new User("zhangsan1","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan2","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan3","123",23,new Address("湖北","武汉","汉口大道100号")));
ModelAndView modelAndView=new ModelAndView();
ModelMap modelMap=new ModelMap();
modelMap.addAttribute("user",user);
modelMap.addAttribute("userList",userList);
//将所有的数据 通过 map集合的方式存入
modelAndView.addAllObjects(modelMap);
modelAndView.setViewName("showUser2");
return modelAndView;
}
取值 同上

