how to use spring4 @RestController to return a jsp page?

后端 未结 5 1560
野趣味
野趣味 2020-12-10 16:59

When I use spring3 @Controller like this:

@RequestMapping(\"/userCenter\")

@Controller
public class LoginCtrl {
    @RequestMapping(\"/loginPage\")
    publ         


        
5条回答
  •  旧时难觅i
    2020-12-10 17:09

    You shouldn't. A @RestController is not meant to return view names through a String return type/value. It's meant to return something that will be written to the response body directly.

    More concretely (in the general configuration case), Spring MVC configures its return value handlers in RequestMappingHandlerAdapter#getDefaultReturnValueHandlers(). If you look at that implementation, the handler for String view names, ViewNameMethodReturnValueHandler, is registered after the handler for @RestController (really @ResponseBody), RequestResponseBodyMethodProcessor.

    If you really have to, you can declare your method to have a return type of View or ModelAndView (the handlers for these, ViewMethodReturnValueHandler and ModelAndViewMethodReturnValueHandler, are registered before RequestResponseBodyMethodProcessor) and return the appropriate object, with an identifying view name.

提交回复
热议问题