处理响应数据
SpringMVC 输出模型数据概述
提供了以下几种途径输出模型数据
1) ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据
2) Map 或 Model: 入参为 org.springframework.ui.Model、org.springframework.ui.ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添加到模型中。
提供了以下几种途径输出模型数据
1) ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据
2) Map 或 Model: 入参为 org.springframework.ui.Model、org.springframework.ui.ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添加到模型中。
处理模型数据之 ModelAndView
1、 ModelAndView介绍
控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。
1) 两个重要的成员变量:
private Object view; 视图信息
private ModelMap model; 模型数据
2)添加模型数据:
MoelAndView addObject(String attributeName, Object attributeValue) 设置模型数据
ModelAndView addAllObject(Map<String, ?> modelMap)
3)设置视图:
void setView(View view) 设置视图对象
void setViewName(String viewName) 设置视图名字
1、 ModelAndView介绍
控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。
1) 两个重要的成员变量:
private Object view; 视图信息
private ModelMap model; 模型数据
2)添加模型数据:
MoelAndView addObject(String attributeName, Object attributeValue) 设置模型数据
ModelAndView addAllObject(Map<String, ?> modelMap)
3)设置视图:
void setView(View view) 设置视图对象
void setViewName(String viewName) 设置视图名字
4)获取模型数据
protected Map<String, Object> getModelInternal() 获取模型数据
public ModelMap getModelMap()
public Map<String, Object> getModel()
protected Map<String, Object> getModelInternal() 获取模型数据
public ModelMap getModelMap()
public Map<String, Object> getModel()
/* * springMVC处理请求过程中,往作用域中放值有以下三种方式 * 总结:根据ModelAndView源码调试,不管使用以下那种方式,最终都会把model数据和view数据封装到一个ModelAndView中 */ @RequestMapping(value="/param", method=RequestMethod.POST) public ModelAndView param() { ModelAndView mav = new ModelAndView(); mav.addObject("username", "root");//往request作用域中放值 mav.setViewName("success");//设置视图名称,实现页面跳转 return mav; } @RequestMapping(value="/param", method=RequestMethod.POST) public String param(Map<String, Object> map) { map.put("username", "admin");//向作用域中放值 return "success";//返回视图名称 } @RequestMapping(value="/param", method=RequestMethod.POST) public String param(Model model) { model.addAttribute("username", "张三");//向作用域中放值 return "success";//返回视图名称 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧