对于springMVC处理方法支持支持一系列的返回方式:
ModelAndView
Model
ModelMap
Map
View
String
Void
ModelAndView
@RequestMapping(method=RequestMethod.GET)
public ModelAndView index(){
ModelAndView modelAndView = new ModelAndView("/user/index");
modelAndView.addObject("xxx", "xxx");
return modelAndView;
}
PS:对于ModelAndView构造函数可以指定返回页面的名称,也可以通过setViewName方法来设置所需要跳转的页面;
PPS:返回的是一个包含模型和视图的ModelAndView对象;
@RequestMapping(method=RequestMethod.GET)
public ModelAndView index(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("xxx", "xxx");
modelAndView.setViewName("/user/index");
return modelAndView;
}
Model
一个模型对象,主要包含spring封装好的model和modelMap,以及java.util.Map,当没有视图返回的时候视图名称将由requestToViewNameTranslator决定;
@RequestMapping(method=RequestMethod.GET)
public Map<String, String> index(){
Map<String, String> map = new HashMap<String, String>();
map.put("1", "1");
//map.put相当于request.setAttribute方法
return map;
}
PS:响应的view应该也是该请求的view。等同于void返回。
String
对于String的返回类型,笔者是配合Model来使用的;
@RequestMapping(method = RequestMethod.GET)
public String index(Model model) {
String retVal = "user/index";
List<User> users = userService.getUsers();
model.addAttribute("users", users);
return retVal;
}
或者通过配合@ResponseBody来将内容或者对象作为HTTP响应正文返回(适合做即时校验);
@RequestMapping(value = "/valid", method = RequestMethod.GET)
public @ResponseBody
String valid(@RequestParam(value = "userId", required = false) Integer userId,
@RequestParam(value = "logName") String strLogName) {
return String.valueOf(!userService.isLogNameExist(strLogName, userId));
}
ps:返回字符串表示一个视图名称,这个时候如果需要在渲染视图的过程中需要模型的话,就可以给处理器添加一个模型参数,然后在方法体往模型添加值就可以了,
Void
当返回类型为Void的时候,则响应的视图页面为对应着的访问地址
@Controller
@RequestMapping(value="/type")
public class TypeController extends AbstractBaseController{
@RequestMapping(method=RequestMethod.GET)
public void index(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("xxx", "xxx");
}
}
返回的结果页面还是:/type
PS:这个时候我们一般是将返回结果写在了HttpServletResponse 中了,如果没写的话,spring就会利用RequestToViewNameTranslator 来返回一个对应的视图名称。如果这个时候需要模型的话,处理方法和返回字符串的情况是相同的。
分享到:
相关推荐
主要介绍了SpringMVC 方法四种类型返回值总结(你用过几种),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文将详细介绍在SpringMVC的Controller方法中如何处理返回值为简单类型的数据,并与前端进行JSON数据交互。 首先,要了解SpringMVC中的@RequestBody注解。这个注解的作用是将HTTP请求体中的JSON数据绑定到相应的...
在SpringMVC中,控制器方法的返回值类型非常关键,因为它决定了如何处理请求并响应给客户端。接下来,我们将详细介绍几种常见的返回值类型: ### 1. `ModelAndView` `ModelAndView`是最基本也是最常用的返回类型之...
在这个场景中,我们利用拦截器来控制Controller方法的返回值,特别是当方法未实现或者需要在开发阶段返回模拟数据时。下面将详细介绍如何实现这一功能。 首先,我们需要定义两个注解:`Debug` 和 `StringResult`。 ...
3. **处理方法**:Controller 类中的方法称为处理器方法,通过 `@RequestMapping` 或其子注解(如 `@GetMapping`, `@PostMapping` 等)来映射 HTTP 请求。这些方法接收请求参数,进行业务处理,然后返回响应数据。 ...
在实际应用中,我们经常需要在一个Controller类中定义多个方法,以处理不同类型的HTTP请求。Spring MVC允许我们通过注解来实现这一目标,使得代码更加模块化和可维护。 首先,了解Spring MVC的基本结构至关重要。它...
SpringMVC返回值类型
本文将详细解析Spring MVC Controller支持的多种返回值类型,以及它们各自的用法。 1. ModelAndView `ModelAndView`是Spring MVC提供的一种组合模型数据和视图的类。它允许开发者同时指定视图名称和模型数据。例如...
Spring MVC是 Java Web 应用程序框架,提供了灵活的处理方法返回值机制,支持多种返回值类型,包括ModelAndView、Model、ModelMap、Map、View、String、Void、Object等。本文将详细介绍Spring MVC处理方法返回值过程...
SpringMVC通过将Web层设计成MVC(Model-View-Controller)模式,可以使得前后端代码分离,增强程序的可维护性和可扩展性。 首先,SpringMVC作为Spring框架的一部分,继承了Spring的诸多优点,例如依赖注入(DI)和...
SpringMVC URL 与 Controller 方法初始化源码流程 Visio 文档 文档可以直接通过Visio进行编辑,方便二次修改、学习
forward方式相当于“request.getRequestDispatcher().forward(request,response)”,转发后浏览器地址栏还是原来的地址。转发并没有执行新的request和response,而是和转发前的请求共用一个request和response。...
SpringMVC Controller 是 Spring 框架中的一个核心组件,负责处理由 DispatcherServlet 分发的请求,封装业务处理层处理后的数据成一个 Model,然后返回给对应的 View 进行展示。在 SpringMVC 中,提供了一个非常...
SpringMVC_4_方法返回值 共25页.pptx SpringMVC_5_常用注解 共22页.pptx SpringMVC_6_数据校验 共26页.pptx SpringMVC_7_国际化 共9页.pptx SpringMVC_8_标签库 共39页.pptx SpringMVC_9_文件上传 共9页.pptx ...
在 SpringMVC 中获取 Request 对象 ...在 SpringMVC 中获取 Request 对象有多种方法,但这两种方法是最常用的。无论是使用 RequestContextHolder 还是继承超类,这两种方法都可以满足我们的需求。
以上就是SpringMVC的基本配置,通过控制层、业务逻辑层和持久层的分离,我们可以构建出松耦合、可维护性强的Web应用。在实际项目中,还可以加入更多功能,如异常处理、安全控制、缓存管理等,以满足复杂的应用需求。
- SpringMVC支持自动将请求参数绑定到Controller的方法参数,这涉及到模型绑定和类型转换。 - 数据绑定可以是简单的类型如字符串,也可以是复杂类型如自定义对象,Spring会自动进行转换。 4. **@ModelAttribute...
通过编译文件的class路径,反射得到Class,获取RequestMapping对应注解和value路径
在本课程"跟开涛学SpringMVC(4.6)Controller接"中,我们将深入探讨SpringMVC框架中的Controller接口控制器。这个部分是SpringMVC核心组件之一,用于处理HTTP请求并返回响应。Controller接口提供了将用户请求映射到...