如何将控制层的数据有效传输至视图层?

2026-05-27 20:231阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计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存入
存入

//方式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存入

如何将控制层的数据有效传输至视图层?

//方式二 存入map或者modelmap
@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存入
存入

//方式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存入

如何将控制层的数据有效传输至视图层?

//方式二 存入map或者modelmap
@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;

}

取值 同上