辟谣:
相信大家在查找这个问题时,会遇到有的博主会提到 :
@RestController是无法返回jsp页面的
在这里更正一下:@RestController 可以返回jsp页面,只需要返回ModelAndView类型即可
一、@RestController和@Controller的区别
很简单:@RestController = @Controller + @ResponseBody。
二、@Controller
@Controller注解 默认只能返回要跳转的路径即跳转的html/JSP页面。
只有添加了 @ResponseBody注解后才可以返回 方法中 指定的返回类型。
三、@RestController
@RestController 注解 ,则返回的是方法指定的返回类型。
例如:
如果返回类型为ModelAndView则返回指定的jsp页面,
如果是String 则返回字符串,
如果是JSONObject 则返回json对象
下面方法,返回的则是一个页面
public ModelAndView test() {
return new ModelAndView("password");
}
下面方法,则返回一个字符串
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index() {
return "indexV1aaaaaaaaaaaaaaaaaaaaaa";
}