SpringMVC实现方法上传、控制器方法的返回值
1.1 返回值分类
1.1.1返回String
默认会转发:
1.1.2 返回void
应用:
- 自己在方法内部通过servletApi返回结果。举例:方法内部自己重定向、转发、返回json字符串。
- 文件下载,此时返回void。
1.1.3 返回ModelAndView
- ModelAndView是SpringMVC 为我们提供的一个对象,该对象也可以用作控制器方法的返回值。该对象中有两个方法。
package com.sunny.e_retv;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletResponse;
@Controller
public class ReturnValueController {
/**
* 1.返回String
*/
@RequestMapping("/returnString")
public String returnString(){
return "success";
}
/**
* 2.返回void
*/
@RequestMapping("/returnVoid")
public void returnVoid(HttpServletResponse response){
}
/**
* 3.返回ModelAndView
* 应用:
* 当希望控制器方法既要存储数据、又要跳转时候时候
*/
@RequestMapping("/mv")
public ModelAndView mv(HttpServletResponse response){
ModelAndView mv = new ModelAndView();
// 数据存储到request域
mv.addObject("cn","China");
// 跳转的结果视图页面
mv.setViewName("success");
return mv;
}
/**
* 4.返回String,通过forward转发
*/
@RequestMapping("/forward")
public String forward(){
return "forward:/pages/success.jsp";
}
/**
* 5.返回String,通过redirect重定向
* 应用:保存成功后,重定向到列表
*/
@RequestMapping("/redirect")
public String redirect(){
return "redirect:/pages/success.jsp";
}
}