HTML5允许更自由地编写一些标签,即没有相应的结束标签。例如,input
不需要关闭</input>
.However,如果在百里叶中选择模板模式 HTML5
,百里叶引擎会抱怨这一点,并且不会解析超文本标记语言模板。我想覆盖这个默认的严格标签检查行为。也就是说,Thymeleaf应该解析一个带有meta和input (以及类似的)标签的HTML模板,而不需要它们的RESP。结束标记。Pl。向导。
当你遇到这样的情况时,它也会报错
<a href="/home/pic/image.png" download="/path/to/file" data-gallery></a>
当它遇到数据库时,它会抛出一个异常--抛出“后面应该跟'=‘”,这有点恼人,因为它降低了HTML5的灵活性。
发布于 2015-02-20 16:43:47
你所要做的就是在"LEGACYHTML5“模式下运行百里香,它就像一个护身符。多亏了this和this帖子,我找到了解决方案,并记录在中,这样其他人就不必再经历同样的麻烦来找到这个答案。
要设置遗留模式,可以在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
在这两种情况下,都必须将maven jar添加到项目中,或者,如果运行的是nekohtml
,则可以将其依赖项添加到pom.xml中
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.21</version>
</dependency>
Gradle
'net.sourceforge.nekohtml:nekohtml:1.9.21'
发布于 2018-01-21 20:35:22
下面是如何以一种整洁的方式来做这件事
第1步:在application.properties文件中添加胸腺叶模式。
资源/应用程序.properties
spring.thymeleaf.mode=LEGACYHTML5
第2步:向pom.xml文件添加nekohtml依赖项。
pom.xml
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
</dependency>
发布于 2020-05-28 22:05:33
使用LEGACYHTML5
对我也很有效。
此外,还需要添加
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
</dependency>
添加到如上所述的pom.xml。但是还有一个步骤可能会发生。在完成了这两个步骤之后,我得到了:
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
为了避免这种情况,有必要添加
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
转到pom.xml
https://stackoverflow.com/questions/28624768
复制相似问题