天天看點

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

繼續閱讀