天天看点

@RestContoller中用ModelAndView跳转页面

问题背景

都说

@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>
           

继续阅读