问题背景
都说
@RestContoller
后所有输出都会变成
@ResponseBody
,输出的都是
json
,这样不就无法返回页面了吗,偶尔有个方法我需要返回
html
怎么办。
解决方案
莫慌。
ModelAndView
帮你忙。
@GetMapping("/active/{userName}/{checkCode}")
public ModelAndView active(@PathVariable String userName, @PathVariable String checkCode){
//新建一个ModelAndView直接返回
ModelAndView mav=new ModelAndView();
mav.setViewName("active-success");
mav.addObject("errorMessage",userName);
return mav;
//或者直接返回
return new ModelAndView("active-success");
}
随便搞个页面
maven
结构是在
resources
/
tamplates
下的
active-success.html
<!doctype html>
<html >
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0/css/bootstrap.min.css" target="_blank" rel="external nofollow" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<title>LikeU激活</title>
</head>
<body>
<h1>账号激活失败(${errorMessage!!}),请联系管理员!</h1>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdn.bootcss.com/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://cdn.bootcss.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>