我正在为 MVC 应用程序使用 Spring Boot,我的 View 技术是 Thymeleaf。我需要做的一件事是复制现有网站的 HTML(不是我做的......)并使用 Thymeleaf 呈现它。但是,某些网站的源 HTML 包含未封闭的 HTML 标记(例如 <meta>
、 <link>
、 <input>
),或者 HTML 标记的元素未被引号括起来,例如:
<div id=1></div>
代替
<div id="1"></div>
当然在浏览器中这有效...但是 Thymeleaf 不允许这样做并且不提供页面。有什么办法可以允许更宽松的规则吗?我搜索了 Thymeleaf 的文档和 Spring Boot 引用,但没有找到答案。
澄清一下——我什至没有为 Thyemeleaf 配置我自己的 bean,只是通过 Maven 将它作为 spring-boot-starter 之一添加到类路径中。所以现在这些是默认设置。
最佳答案
我知道我在很长一段时间后才给出答案,但如果它可以帮助任何人,那么分享它还是很好的。
我在将一个属性
“spring,thymeleaf.mode”设置为“LEGACYHTML5”后解决了这个问题。
spring.thymeleaf.mode=LEGACYHTML5
然后在 pom.xml 中,添加依赖项:
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.21</version>
</dependency>
如果你想禁用 thymeleaf 的缓存,那么 thymeleaf 缓存
spring.thymeleaf.cache=false
关于java - Spring Boot 和 Thymeleaf - 删除严格的 HTML 错误检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31796908/