我有以下html:
<!DOCTYPE html>
<html lang="es" xmlns:th="http://www.thymeleaf.org">
<head></head>
<body>
<input type = "text" name="city" id="city-selector" list="available-cities" autofocus/>
<datalist id="available-cities">
<option value="1">Madrid</option>
<option value="2">Barcelona</option>
<option value="3">Sevilla</option>
<option value="4">Valencia</option>
</datalist>
</body>
</html>
当我在Spring Boot应用程序中将其添加为静态内容时,它可以工作,并且能够使用数据列表功能.但是,如果我将此文件添加为Thymeleaf模板,并使用Spring控制器将请求路由到模板,则数据列表将按以下方式呈现:
<datalist id="available-cities"> Madrid Barcelona Sevilla Valencia </datalist>
选项标签消失,所有值都被串联.数据列表不再起作用,因为没有选项标签.
这是Thymeleaf的错误,还是我做错了什么?
解决方法:
似乎此问题与Thymeleaf的LEGACYHTML5模式的使用有关,如here所述.
解决方法是到use Thymeleaf 3,以避免使用nekohtml,或者,如果不是这样,请通过在application.properties中包含以下行来更改为HTML5模式:
spring.thymeleaf.mode: HTML