テンプレートファイルが読み込めないのか、画面に「index.html」ファイルの内容が表示出来ません。
以下はコントローラークラスである「HelloController.java」です。
package com.test.springboot; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController{ @RequestMapping("/") public String index(){ return "index"; } }
以下は、設定ファイルである「pom.xml」です
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.test.springboot</groupId> <artifactId>MyBootApp</artifactId> <version>0.0.1-SNAPSHOT</version> <name>MyBootApp</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
以下は、テンプレートファイルである「index.html」です
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>top page</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style> h1{ font-size:18pt; font-weight: bold; color:gray;} body{ font-size:13pt; color:gray; margin:5px 25px; } </style> </head> <body> <h1>Helo page</h1> <p class="msg">this is Thymeleaf sample page.</p> </body> </html>
「index.html」は、プロジェクトフォルダ内の「src」フォルダ内の「main」フォルダ内の「resources」フォルダ内の「templates」フォルダ内に作成しました。
実行は、ターミナルから、mvn spring-boot:run
としました。
アクセスは「http://localhost:8080」として、ブラウザからアクセスしましたのですが、結果は以下のように表示されました。
テンプレートファイル「index.html」が表示出来ない原因が分からない為、ご助言頂けたらありがたいです
追記です
@SpringBootApplicationというアノテーションが付いているクラスのソースコード全文を質問に追記してください。
以下は、MybootAppApplication.java
になります。
package com.test.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MybootAppApplication { public static void main(String[] args) { SpringApplication.run(MybootAppApplication.class, args); } }
プロジェクトのsrc/main/java以下を展開した状態のスクリーンショットを撮って掲載しなおしてください。
こちらですが、以下の画像となります。ご確認の程、よろしくお願いします。
※画像のフォルダ名及び、パッケージ名の「test」は質問に載せる為、一時的につけている名前です。
追記2
重複しているフォルダ、「com/test/springboot」を削除した結果は以下になります。