spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。
下面将对具体的一一进行说明:
ModelAndView
@RequestMapping("/show1") publicModelAndView show1(HttpServletRequest request,HttpServletResponse response) throwsException { ModelAndView mav = newModelAndView("/demo2/show"); mav.addObject("account", "account -1"); returnmav; }
通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类,
具体请看类。
Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。
Map
@RequestMapping("/demo2/show") publicMap<String, String> getMap() { Map<String, String> map = newHashMap<String, String>(); map.put("key1", "value-1"); map.put("key2", "value-2"); returnmap; }
在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。
写例子时发现,key值包括 - . 时会有问题.
View 可以返回pdf excel等,暂时没详细了解。
String 指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。
注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面。
例如:
@RequestMapping(value = "/something", method = RequestMethod.GET) @ResponseBody publicString helloWorld() { return"Hello World"; }
上面的结果会将文本"Hello World "直接写到http响应流。
@RequestMapping("/welcome") publicString welcomeHandler() { return"center"; }
对应的逻辑视图名为“center”,URL= prefix前缀+视图名称 +suffix后缀组成。
void 如果返回值为空,则响应的视图页面对应为访问地址
@RequestMapping("/welcome") publicvoidwelcomeHandler(){}
此例对应的逻辑视图名为"welcome"。
小结:
1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。
2.使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。
Model model,HttpServletRequest request, ModelMap map声明变量
request.getSession().setAttribute("test", "haiwei2Session");
request.setAttribute("test", "haiwei1request");
map.addAttribute("test", "haiweiModelMap");
model.addAttribute("test", "haiweiModel");
我通过${test}这个方式取值,优先取Model和ModelMap的,Model和ModelMap是同一个东西,谁最后赋值的就取谁的,然后是request,最后是从session中获取
相关推荐
字符串、对象、List集合、Map集合
springmvc返回json的全局异常统一处理demo,有问题可以留言。
### SpringMVC 面试专题...- **返回类型**:SpringMVC 中控制器方法的返回值类型非常灵活,可以是字符串(视图名称)、`ModelAndView` 对象、`RedirectView` 对象等。这些返回类型可以根据不同的场景选择最合适的类型。
SpringMVC中的拦截器-拦截器方法的作用和执行顺序.avi
1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析springmvc源码.zip1、手写springmvc框架及分析...
在SpringMVC框架中,开发人员经常需要处理对象实例的传递和返回,这涉及到模型绑定、数据转换和服务层之间的交互。本示例将探讨如何在SpringMVC中有效地完成这一任务,并结合zTree这一前端组件展示如何进行数据交互...
NULL 博文链接:https://bijian1013.iteye.com/blog/2306223
SpringMVC 是 Spring 框架的一个重要模块,它提供了构建 Web 应用程序的全功能 Model-View-Controller (MVC) 模块。SpringMVC 的执行流程是理解其工作原理的关键,下面我们将详细解析这个过程。 首先,SpringMVC 的...
SpringMVC返回图片的几种方式小结 在SpringMVC中,返回图片的方式有多种,主要包括返回二进制图片、返回图片的HTTP地址、返回base64格式的图片、直接返回二进制的图片等。下面是对这些方式的详细介绍。 I. 返回二...
SpringMVC 是一款基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。本教程将深入探讨 SpringMVC 的核心概念、配置以及实际应用。...
SpringMVC是Java后端开发领域中常用的Web层框架之一,属于SSM(Spring、SpringMVC、MyBatis)架构的重要组成部分。SpringMVC基于MVC设计模式,通过将Web层分为Model(模型)、View(视图)和Controller(控制器)三...
主要介绍了SpringMVC 方法四种类型返回值总结(你用过几种),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring 和 SpringMVC 的配置加载顺序是理解这两个框架协同工作的重要方面。首先,DispatcherServlet 是 SpringMVC 的核心组件,它扮演着请求分发者的角色,确保请求被正确地路由到相应的处理器。DispatcherServlet ...
在SpringMVC中,数据绑定和数据类型转换是两个关键的概念,它们对于构建高效、健壮的Web应用至关重要。 **数据绑定**是SpringMVC中的一种机制,允许我们将用户通过表单或其他方式提交的请求参数自动绑定到控制器中...
本资料"SpringMVC面试专题及答案.zip"包含了针对SpringMVC框架的面试问题和解答,对于准备面试或深化对SpringMVC理解的开发者来说极具价值。 1. **SpringMVC架构组件**:SpringMVC的核心组件包括DispatcherServlet...
SpringMVC允许定义全局或特定类型的异常处理器,通过@ControllerAdvice和@ExceptionHandler注解实现。 8. **视图解析**: 视图解析器如InternalResourceViewResolver,负责根据视图名查找实际的视图资源。例如,...
该压缩包文件"图片上传+拖拽顺序 SpringMVC.zip"包含了一个使用SpringMVC框架实现的多图片上传功能,同时支持用户通过拖拽来调整图片的展示顺序。这个项目是一个完整的实例,可以直接在Tomcat8服务器上运行,且要求...
SpringMVC是Spring框架的一个模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。这个“springMVC练手代码”压缩包包含的资源可以帮助初学者或开发者深入了解并实践SpringMVC的基本操作和核心概念。 首先...