Thymeleaf-严格的HTML解析问题

穆斯塔克(Mushtaq Jameel)

HTML5允许更自由地编写某些标签,即没有相应的END标签。例如,input不需要关闭。</input>但是,如果在Thymeleaf中选择模板模式 HTML5,则Thymeleaf引擎会对此表示抱怨,并且不会解析HTML模板。我想覆盖此默认的严格标记检查行为。即Thymeleaf应该在没有RESP的情况下使用meta和input(AND ALIKE)标签解析HTML模板。关闭标签。Pl。指南。

当你有这样的事情时,它也会抱怨

<a href="/home/pic/image.png" download="/path/to/file" data-gallery></a>

当遇到数据库抛出“应该跟随'='”时,它将引发异常,这很烦人,因为它使HTML5失去了灵活性。

穆斯塔克(Mushtaq Jameel)

您所要做的就是在“ LEGACYHTML5”模式下运行Thymeleaf,它的工作原理就像是一种魅力。多亏了这篇这篇文章,我找到了解决方案并正在使用SO进行文档记录,因此其他人在找到此答案时不必经历同样的麻烦。

要设置传统模式,您可以在Spring XML文件中定义bean:

<!-- View TemplateResolver -->
<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    <property name="templateMode" value="LEGACYHTML5"/>
    <property name="cacheable" value="false"/>
</bean>

或将属性添加到application.properties文件:

spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.cache=false

在这两种情况下,您都必须将nekohtmljar添加到项目中;或者,如果您正在运行maven,则可以将其依赖项添加到pom.xml中。

<dependency>
     <groupId>net.sourceforge.nekohtml</groupId>
     <artifactId>nekohtml</artifactId>
     <version>1.9.21</version>
 </dependency>

摇篮

'net.sourceforge.nekohtml:nekohtml:1.9.21'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章