SpringMVC 方法四种类型返回值总结
SpringMVC 的控制器方法可以有四种类型的返回值,这四种类型分别是:
- ModelAndView
- Model
- View
- String
下面将对这四种类型的返回值进行详细的讲解,并给出示例说明。
1. ModelAndView
ModelAndView 是 Spring 框架中常用的一种返回类型。它既包含了 Model 数据也包含了 View 视图,可以将数据和视图一同传递给前端进行展示。
控制器方法返回的 ModelAndView 对象,其中 Model 部分存储了数据,View 部分则指定了响应的视图,这个视图可以是 JSP、HTML、JSON 等。
示例代码:
@GetMapping("/hello")
public ModelAndView sayHello() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("message", "Hello World!");
modelAndView.setViewName("hello");
return modelAndView;
}
经过上述代码的处理,我们可以在 hello.jsp 页面中使用 ${message}
的方式获取 Hello World!
的值并显示在页面上。
2. Model
Model 是 Spring 框架中另一种常用的返回类型。这种返回类型只包含 Model 部分,视图部分则会自动解析为当前请求的 URL 。
示例代码:
@GetMapping("/welcome")
public Model sayWelcome(Model model) {
model.addAttribute("message", "Welcome to my website!");
return model;
}
上述代码在访问 /welcome
的时候,如果被成功地执行,会自动跳转到 welcome.jsp
页面。在该页面中,同样可以使用 ${message}
的方式获取相应的值并显示。
3. View
View 是 Spring 框架中比较少使用的一种返回类型,它只包含 View 视图部分,不包含 Model 数据。这种返回类型可以直接指定需要响应的视图。
示例代码:
@GetMapping("/bye")
public View sayBye() {
RedirectView view = new RedirectView();
view.setUrl("https://www.baidu.com");
return view;
}
上述代码中,我们将视图设置为 https://www.baidu.com
,在访问 /bye
的时候,浏览器会自动跳转到指定的地址。
4. String
String 是 Spring 框架中最常用的一种返回类型。它只包含了 View 视图的名称,不包含任何数据。
示例代码:
@GetMapping("/greet")
public String sayGreet(Model model) {
model.addAttribute("message", "Nice to meet you!");
return "greet";
}
同样地,上述代码中,我们可以在 greet.jsp
中使用 ${message}
的方式获取相应的值并显示在页面上。
总结
根据上面的讲解,我们可以得出以下结论:
- ModelAndView 包含 Model 部分和 View 部分;
- Model 只包含 Model 部分,视图部分则会自动解析;
- View 只包含 View 部分,不包含任何数据;
- String 只包含 View 视图的名称,不包含任何数据。
在实际开发中,不同的返回类型会因为不同的应用场景而有不同的选择,需要根据具体的业务需求进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringMVC 方法四种类型返回值总结(你用过几种) - Python技术站