如何使用spring4 @RestController返回一个jsp页面?

当我像这样使用spring3 @Controller时:

@RequestMapping("/userCenter")

@Controller

public class LoginCtrl {

@RequestMapping("/loginPage")

public String login(HttpServletRequest request,HttpServletResponse response,Model model) throws Exception {

return "userCenter/loginPage";

}

}

可以,我在浏览器中获得了loginPage.jsp正确的内容。

但是当我将@Controller更改为@RestController时

localhost:8080 // userCenter / loginPage返回带有字符串“ userCenter / loginPage”的页面

那么,如何使用@RestController来获取像@Controller这样的jsp页面?

回答:

你不应该 A @RestController并不意味着通过String返回类型/值返回视图名称。它的目的是返回将直接写入响应主体的内容。

更具体地说(在一般配置情况下),Spring

MVC在中配置其返回值处理程序RequestMappingHandlerAdapter#getDefaultReturnValueHandlers()。如果您查看该实现,则String视图名称的处理程序将在(确实)的处理程序

*@RestController``@ResponseBody``RequestResponseBodyMethodProcessor

如果确实需要,则可以声明您的方法的返回类型为ViewModelAndView(在ViewMethodReturnValueHandlerModelAndViewMethodReturnValueHandler之前注册了这些和的处理程序RequestResponseBodyMethodProcessor),并返回具有标识视图名称的适当对象。

以上是 如何使用spring4 @RestController返回一个jsp页面? 的全部内容, 来源链接: utcz.com/qa/422919.html

回到顶部