我正在实现密码重置功能。要显示具有此功能的网页,我使用的是胸腺网。但是,当我调用简单的demo.html页面(请参阅下面的代码)时,它会抛出以下错误:
出现了意外错误(type=Internal服务器错误,status=500)。 异常解析文档:template=“演示”,第10列
Bean配置:
@Bean
public ClassLoaderTemplateResolver emailTemplateResolver(){
ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
emailTemplateResolver.setPrefix("templates/mail/");
emailTemplateResolver.setSuffix(".html");
emailTemplateResolver.setTemplateMode("HTML5");
emailTemplateResolver.setCharacterEncoding("UTF-8");
emailTemplateResolver.setOrder(1);
return emailTemplateResolver;
}demo.html:
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form th:action="@{/resetpassword(_key=${resetPasswordToken})}" method="post">
<div>
<input type="password" th:field="*{password}">
<input type="password">
</div>
</form>
</body>
</html> 主计长:
@RequestMapping(value = "/resetpassword", method = RequestMethod.GET)
public String resetpasswordView(@RequestParam(value = "_key") String resetPasswordToken, final Model model) {
System.out.println(resetPasswordToken);
model.addAttribute("resetPasswordToken", resetPasswordToken);
return "demo";
}我在这里错过了什么?
发布于 2016-01-16 07:11:37
默认情况下,Thymeleaf要求模板为有效的XML。您还没有关闭<input>标记,所以当它到达第10行的</div>时,它会失败,因为标记是不平衡的。
您可以通过关闭标记来解决这个问题:
<input type="password" th:field="*{password}" />或者,您可以使用Thymeleaf的遗留HTML5模式,但它需要更多的设置。
https://stackoverflow.com/questions/34824212
复制相似问题