我在获取Spring Boot应用程序以加载我的简单网页时遇到问题。 我已经复制了here提供的示例,并在模板目录中实现了这些示例 我不断收到此错误
org.thymeleaf.exceptions.TemplateInputException:解决模板[索引]时出错,模板可能不存在,或者任何已配置的模板解析器都无法访问该模板
这里是文件目录
这就是控制器类中的所有内容
package com.example.cloud_computing_project;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
private String OpenMainPage() {
return "index";
}
}
这是build.gradle的样子
plugins {
id 'org.springframework.boot' version '2.2.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
}
ext {
set('springCloudVersion', "Hoxton.RC2")
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
//implementation 'org.springframework.cloud:spring-cloud-starter-aws-messaging'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
test {
useJUnitPlatform()
}
我环顾四周,据我所知,文件正确,文件位置正确,指向该位置的getmapping正确。我唯一看到的错误是我可能在build.gradle中缺少依赖项
非常感谢任何帮助。
答案 0 :(得分:0)
在Spring Boot Thymeleaf Starter 2.0及更高版本中,您需要显式包括ultraq thymeleaf布局方言依赖项。 在Maven中将是:
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>
答案 1 :(得分:0)
我开始好奇是否还有其他问题。因此,我在application.properties文件中包含了“ server.port = 8081”。当我运行它时并没有。考虑到这一点,并且输出表明它在classpath下找不到模板文件夹:/我开始怀疑是否默认值被某些内容覆盖。
我根本没有更改任何配置。我唯一要做的就是将build.gradle配置为导入依赖项。
我找到了一个建议使用gradle.Tasks.Application.bootRun运行它的论坛
这确实解决了我遇到的问题。现在正在查找模板文件夹并加载我的index.html文件。它还使用了application.properties文件。但是,由于它不是由IntelliJ构建和运行的,因此没有对输出进行颜色编码。
根据this issue,建议的解决方法是重新导入项目。
我已经将项目推送到git存储库,.gitignore不会推送任何可能导致此问题的文件。因此,我删除了整个工作目录,然后克隆了推送的存储库。
已成功!现在一切正常。 application.properties正在运行,并且我的HTML文件已成功加载到/ src / main / resources / templates
下还要感谢@MohamedSanaulla对布局方言依赖项的建议。在gradle中添加实现之前,我也遇到了麻烦。