Spring Boot终结点无法重定向到我的视图

时间:2019-05-29 07:46:14

标签: spring-boot redirect thymeleaf

我有一个终点:

 @GetMapping(value = "/reset-password")
    public String displayResetPasswordPage(

它只使用String令牌对象,但是后来我尝试了很多事情,最后一个版本是:

GetMapping(value = "/reset-password")
    public String displayResetPasswordPage(HttpServletRequest request, @RequestParam("token") String token, Model model) {


 //here token validate jobs, it is for brevity
    Token resetToken = validateToken(token);

        ModelAndView modelAndView = prepareModelAndView(currentUser, PASSWORD_RESET);

//            modelAndView.addObject("success", request.getParameter("success"));

        if (resetToken == null){
            modelAndView.addObject("error", "Could not find password reset token.");
            model.addAttribute("message","Could not find password reset token." );
        } else if (resetToken.isExpired()){
            modelAndView.addObject("error", "Token has expired, please request a new password reset.");
            model.addAttribute("message","Could not find password reset token." );
        } else {
            modelAndView.addObject("token", resetToken.getToken());//ihtiyaç var mı emin değilim
            model.addAttribute("message","Could not find password reset token." );
        }


        return "redirect:/Reset-Password.html";
    }

我想要的是,它应该转到简单的html:

<!DOCTYPE html>
<html layout:decorator="layouts/Master" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Bilgilerim</title>
</head>
<body>

fsfasasd
asdsasda
</body>
</html>

其名称为Reset-Password.html

它位于resources-teplates-Reset-Password.html内部

我也添加了这个

.antMatchers("/reset-password**").permitAll()

例如,在这里,此代码显示并在页面上显示字符串:

redirect:/Reset-Password.html

当我尝试去

myurl/reset-password?token=122b4e43-0b63-4a6b-8669-f4e6c623ee2d

但是,当我这样做时

httpServletResponse.sendRedirect("https://twitter.com");

采用这种方法。

但是

 httpServletResponse.sendRedirect("/reset-password");

具有无效返回值,它将重定向到/reset-password路径,并且 给出自定义/error页面的错误。

我该怎么办?

此外,当我尝试这样做

   modelAndView = prepareModelAndView(controllerParams.currentUser, "simplepage");



    //todo send only user object
    modelAndView.addObject("mobileNumber", mobile);
    return modelAndView;

转到该视图。通常它是另一个端点和视图,但是我从那里复制了副本,这也可以进入该视图。

对于相同的方法,我得到了

template might not exist or might not be accessible by any of the configured Template Resolvers

但Reset-Password和simplepage在templates下的同一文件夹中

0 个答案:

没有答案