首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Thymeleaf -严格的HTML解析问题

Thymeleaf -严格的HTML解析问题
EN

Stack Overflow用户
提问于 2015-02-20 16:43:47
回答 3查看 17.1K关注 0票数 23

HTML5允许更自由地编写一些标签,即没有相应的结束标签。例如,input不需要关闭</input>.However,如果在百里叶中选择模板模式 HTML5,百里叶引擎会抱怨这一点,并且不会解析超文本标记语言模板。我想覆盖这个默认的严格标签检查行为。也就是说,Thymeleaf应该解析一个带有meta和input (以及类似的)标签的HTML模板,而不需要它们的RESP。结束标记。Pl。向导。

当你遇到这样的情况时,它也会报错

代码语言:javascript
复制
<a href="/home/pic/image.png" download="/path/to/file" data-gallery></a>

当它遇到数据库时,它会抛出一个异常--抛出“后面应该跟'=‘”,这有点恼人,因为它降低了HTML5的灵活性。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-20 16:43:47

你所要做的就是在"LEGACYHTML5“模式下运行百里香,它就像一个护身符。多亏了thisthis帖子,我找到了解决方案,并记录在中,这样其他人就不必再经历同样的麻烦来找到这个答案。

要设置遗留模式,可以在Spring XML文件中定义bean:

代码语言:javascript
复制
<!-- View TemplateResolver -->
<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    <property name="templateMode" value="LEGACYHTML5"/>
    <property name="cacheable" value="false"/>
</bean>

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

代码语言:javascript
复制
spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.cache=false

在这两种情况下,都必须将maven jar添加到项目中,或者,如果运行的是nekohtml,则可以将其依赖项添加到pom.xml中

代码语言:javascript
复制
<dependency>
     <groupId>net.sourceforge.nekohtml</groupId>
     <artifactId>nekohtml</artifactId>
     <version>1.9.21</version>
 </dependency>

Gradle

代码语言:javascript
复制
'net.sourceforge.nekohtml:nekohtml:1.9.21'
票数 59
EN

Stack Overflow用户

发布于 2018-01-21 20:35:22

下面是如何以一种整洁的方式来做这件事

第1步:在application.properties文件中添加胸腺叶模式。

资源/应用程序.properties

代码语言:javascript
复制
spring.thymeleaf.mode=LEGACYHTML5

第2步:向pom.xml文件添加nekohtml依赖项。

pom.xml

代码语言:javascript
复制
<dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
</dependency>
票数 4
EN

Stack Overflow用户

发布于 2020-05-28 22:05:33

使用LEGACYHTML5对我也很有效。

此外,还需要添加

代码语言:javascript
复制
<dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
</dependency>

添加到如上所述的pom.xml。但是还有一个步骤可能会发生。在完成了这两个步骤之后,我得到了:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

为了避免这种情况,有必要添加

代码语言:javascript
复制
<dependency> 
    <groupId>xml-apis</groupId>
    <artifactId>xml-apis</artifactId>
    <version>1.4.01</version>
</dependency>

转到pom.xml

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28624768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档