springboot报错:org.thymeleaf.exceptions.TemplateInputException: Error resolving template

在学springboot的时候,发现一个bug。在controller返回到templates模板下的页面dashboard.html时,在页面上报了There was an unexpected error (type=Internal Server Error, status=500)。而在IDEA中发现报的错误为:

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [dashboard], template might not exist or might not be accessible by any of the configured Template Resolvers

controller层的代码如下:

@Controller
public class LoginController {
     

//    @DeleteMapping
//    @PutMapping
//    @GetMapping

    //@RequestMapping(value = "/user/login",method = RequestMethod.POST)
    @PostMapping(value = "/user/login")
    public String login(@RequestParam("username") String username,
                        @RequestParam("password") String password,
                        Map<String,Object> map, HttpSession session){
     
        if(!StringUtils.isEmpty(username) && "123456".equals(password)){
     
            //登陆成功,防止表单重复提交,可以重定向到主页
            session.setAttribute("loginUser",username);
            return "dashboard";
            // return "redirect:/main.html";
        }else{
     
            //登陆失败
            map.put("msg","用户名密码错误");
            return  "login";
        }
    }
}

return给dashboard就会报错,但ruturn给其他的文件就可以。于是我就去检查dashboard.html和其他*.html文件的区别,发现dashboard.html文件的标签里面少了一段声明:xmlns:th="http://www.thymeleaf.org"
于是抱着试一试的态度,给加上了,代码如下。

<html lang="en" xmlns:th="http://www.thymeleaf.org">

刷新重启服务器后竟然正常转发了。。。。。。xmlns:th="http://www.thymeleaf.org"难道不是要在html页面使用thymeleaf框架时才加的声明吗?这样也可以!?待搞明白

你可能感兴趣的:(springboot,Java,Bug)