如何使用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
如果确实需要,则可以声明您的方法的返回类型为View
或ModelAndView
(在ViewMethodReturnValueHandler
和ModelAndViewMethodReturnValueHandler
之前注册了这些和的处理程序RequestResponseBodyMethodProcessor
),并返回具有标识视图名称的适当对象。
以上是 如何使用spring4 @RestController返回一个jsp页面? 的全部内容, 来源链接: utcz.com/qa/422919.html