当我像这样使用spring3 @Controller时:
@RequestMapping("/userCenter")
@Controller
public class LoginCtrl {
@RequestMapping("/loginPage")
public String login(HttpServletRequest request,HttpServletResponse response,Model model) throws Exception {
return "userCenter/loginPage";
}
}
Run Code Online (Sandbox Code Playgroud)
没关系,我在浏览器中获取了loginPage.jsp正确的内容.
但是当我将@Controller更改为@RestController时
localhost:8080 // userCenter/loginPage返回一个字符串为"userCenter/loginPage"的页面
那么,我如何使用@RestController来获取像@Controller这样的jsp页面?
你不应该.A @RestController并不意味着返回视图.它意味着返回将直接写入响应主体的内容.
如果确实需要,可以声明方法的返回类型为String或RequestMappingHandlerAdapter#getDefaultReturnValueHandlers()返回具有标识视图名称的相应对象.
实际上,@ RestController也可以返回视图...
经过一天的研究和阅读文档,我得到了一个解决方案
让我与大家分享解决方案:
首先,将控制器方法的返回类型设置为"ModelAndView"
其次,像这样设置视图路径
ModelAndView mav = new ModelAndView("userCenter/loginPage");
Run Code Online (Sandbox Code Playgroud)
最后
return mav;
Run Code Online (Sandbox Code Playgroud)
您将获得正确的jsp页面视图内容
| 归档时间: |
|
| 查看次数: |
16476 次 |
| 最近记录: |