Thymeleaf 内容助手无法与 Spring Boot 配合使用

问题描述 投票:0回答:6

百里香内容辅助不起作用,当我在 HTML 文件中输入 th: 前缀时,仅显示 th:block 提案。

<th:block

我尝试将 Thymeleaf 处理器提案移至 HTML 文件的 STS/elipse 设置中的顶部,但不起作用。

该项目是 Spring Boot + Thymeleaf,Gradle 片段:

plugins {
    id 'org.springframework.boot' version '2.1.4.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation "org.springframework.boot:spring-boot-starter-thymeleaf"
    implementation "org.springframework.boot:spring-boot-devtools"
}

我添加了 html 命名空间:

<html xmlns:th="http://www.thymeleaf.org">

将第一个命名空间更改为另一个命名空间不起作用;

好吧,唯一的工作时间是它只是替换了 HTML 的位置...

<table>
        <tbody>
            <tr th:
java spring spring-boot thymeleaf
6个回答
3
投票

我遇到了同样的问题,我执行了以下步骤。

  1. 打开工作空间.metadata下的.log文件

  2. 之后打开 Thymeleaf 模板 (html):按 Ctrl+sapce

  3. 检查.log文件中的异常 就我而言,这是 groovy 运行时异常,因此我卸载并安装了 groovy 插件 重新启动 eclipse,thymeleaf 内容助手开始工作。

    [ groovy.lang.GroovyRuntimeException:找不到匹配的构造函数:org.thymeleaf.extras.eclipse.contentassist.autocomplete.proposals.AttributeProcessorCompletionProposal(org.thymeleaf.extras.eclipse.dialect.xml.ElementProcessor,Integer,Integer,Boolean )]

Screenshot


0
投票

我也面临着同样的问题,并尝试了很多东西,然后我在 .metadata/ 文件夹内的 .log 文件中看到以下错误:

!ENTRY org.eclipse.equinox.p2.repository 2 0 2021-09-03 12:04:19.422
!MESSAGE Server returned lastModified <= 0 for https://raw.githubusercontent.com/thymeleaf/thymeleaf-extras-eclipse-plugin/update-site/2.1.2/content.jar

所以我基本上从链接下载了jar: https://raw.githubusercontent.com/thymeleaf/thymeleaf-extras-eclipse-plugin/update-site/2.1.2/content.jar

并通过以下方式在STS中安装此插件:帮助->安装新软件->添加->

我使用上述步骤安装了插件,它对我有用。

Screenshot

我还观察到另一点,它不适用于 jdk16,它在 jdk8 上运行良好。


0
投票

将以下行添加到 eclipse.ini 后,添加 Thymeleaf Nature 不会再失败,内容辅助也能正常工作:

--add-opens=java.base/java.lang=ALL-UNNAMED


0
投票

它可能会在未来的版本中得到修复,直到您可以在 vscode 编辑器上使用 thymeleaf 扩展作为替代方案。


0
投票

自 2019 年起有新的最低要求:

  • Java 17
  • 基于 2023-06 或更高版本的 Eclipse IDE
  • Thymeleaf 3 项目
  • Eclipse WebTools HTML 编辑器(不是新功能,而是必需的)

OP的问题没有澄清使用了哪个编辑器,但我在https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin发现,与2019年一样,Eclipse WebToolsHTML编辑器 必须用于 Thymeleaf 内容辅助:

这些功能仅在 Eclipse WebTools HTML 编辑器中可用, 这可能不是 Eclipse 中 HTML 文件的默认设置 安装。要检查您是否正在使用 WTP 的 HTML 编辑器, 右键单击 HTML 文件 >> 打开方式,然后查看 HTML 编辑器是否为 已选择:

就我而言,使用 Eclipse 2023-09 和 Spring Boot 3.0.5 项目以及 Thymeleaf 3.1.1 和 Java 17 安装 WTP 确实可以在没有内容帮助的情况下解决我的问题。

请注意,您可以在“设置”>“常规”>“编辑器”>“文件关联”中更改 HTML 文件的默认编辑器,方法是选择 html 文件类型,然后选择“关联编辑器”中的 HTML 编辑器,然后单击“默认”按钮和“应用并关闭”。

在 GitHub thymeleaf-extras-eclipse-plugin 的内容辅助部分中,还提到添加 Thymeleaf 性质作为添加 html 属性的替代方法,OP 提到用于触发内容辅助。但 WTP HTML 编辑器似乎确实是一个要求,而不是一个选项。


-1
投票
遇到同样的问题,但升级 Spring Tools 4 后问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.