質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

1746閲覧

Spring Boot でテンプレートと連携したい

kuroinu

総合スコア2

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2022/12/21 15:17

編集2022/12/22 06:28

前提

spring boost でサンプルの画面を作っています。
起動(Spring boot アプリケーション)するとエラーメッセージが表示されました。

実現したいこと

http://localhost:8080/ へアクセスするとテンプレートの中身を表示したい。

発生している問題・エラーメッセージ

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Dec 22 00:02:31 JST 2022 There was an unexpected error (type=Internal Server Error, status=500). Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1414) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1158) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1097) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:973) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1003) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:895) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:705) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:880) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:833)

該当のソースコード

/spring-boot1/src/main/java/com/example/demo/controller/HelloController.java

java

1package com.example.demo.controller; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.web.bind.annotation.RequestMapping; 5 6@Controller 7public class HelloController { 8 9 @RequestMapping("/") 10 public String index() { 11 12 return "hello"; 13 } 14}

/spring-boot1/src/main/resources/templates/hello.html

html

1<!DOCTYPE html> 2<html xmlns:th="http://www.thymeleaf.org"> 3<head> 4<meta charset="UTF-8"> 5<title>Insert title here</title> 6</head> 7<body> 8 9</body> 10</html>

pom.xml

xml

1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>3.0.0</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.example</groupId> 12 <artifactId>spring-boot1</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>spring-boot1</name> 15 <description>Demo project for Spring Boot</description> 16 <properties> 17 <java.version>17</java.version> 18 </properties> 19 <dependencies> 20 <dependency> 21 <groupId>org.springframework.boot</groupId> 22 <artifactId>spring-boot-starter-thymeleaf</artifactId> 23 </dependency> 24 <dependency> 25 <groupId>org.springframework.boot</groupId> 26 <artifactId>spring-boot-starter-web</artifactId> 27 </dependency> 28 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-devtools</artifactId> 32 <scope>runtime</scope> 33 <optional>true</optional> 34 </dependency> 35 <dependency> 36 <groupId>org.springframework.boot</groupId> 37 <artifactId>spring-boot-starter-test</artifactId> 38 <scope>test</scope> 39 </dependency> 40 </dependencies> 41 42 <build> 43 <plugins> 44 <plugin> 45 <groupId>org.springframework.boot</groupId> 46 <artifactId>spring-boot-maven-plugin</artifactId> 47 </plugin> 48 </plugins> 49 </build> 50 51</project>

試したこと

HelloController.java の return を "abc" にしても同じメッセージがでます。
"hello" を return しても templates/hello.html を見つけられないようなのです。

補足情報(FW/ツールのバージョンなど)

JRE : jdk-17.0.5.8-hotspot
Eclipse IDE : 2022-12 (4.26.0)
Spring スターター・プロジェクト
タイプ : Maven
Spring Bootバージョン : 3.0.0
選択 : Spring Boot DevTools, Thymeleaf, Spring Web( Web)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/12/21 22:41

mavenですか?gradleですか?それとも個別で自分で入れてますか? それ次第ですが、設定ファイルの内容も提示してください。
kuroinu

2022/12/22 00:34

mavenを使用しています。pom.xmlの記載を追加しました。
m.ts10806

2022/12/22 06:04

ちなみにプロジェクトはeclipseの機能で作りましたか? 確かSpring boot スタータープロジェクト・・・・みたいな 初期導入プラグインをチェックボックスで選んでいくタイプ
kuroinu

2022/12/22 06:29

はい、eclipseの機能でSpring スターター・プロジェクトで作成しました。 以下を入力、選択しました。 --------------- タイプ : Maven Spring Bootバージョン : 3.0.0 選択 : Spring Boot DevTools, Thymeleaf, Spring Web( Web)
KT001

2022/12/22 10:19

ご提示のコードで動作したのですが、他に何か変えているところはありますでしょうか? (例えば、hello.htmlが全角になっている or 1文字違っているなど)
kuroinu

2022/12/22 12:31

すいません、お手数をおかけします。 もう1度初めからやり直しましたが、やはり同じ結果でした。 全角やかけていることもありませんでした。 hello.htmlを右クリック>就職名のコピーの結果です。 /spring-boot1/src/main/resources/templates/hello.html
KT001

2022/12/22 12:54

もしかすると、環境の問題かもしれません。お使いのOSは、Macでしょうか?Windowsでしょうか? (ネットワーク不調などで)ライブラリが壊れている可能性もあるので、以下のフォルダを削除して、再ロードを試して頂けないでしょうか。 Windowsの場合:C:/Users/ユーザ名/.m2 Macの場合:/Users/ユーザ名/.m2(隠しフォルダ)
kuroinu

2022/12/22 13:35

ありがとうございます! windowsなのですが、上記のフォルダを削除したのち、起動すると表示されました。 貴重な情報をありがとうございます。 とても助かりました。
kuroinu

2022/12/22 13:41

m.ts10806様もコメントありがとうございます。 情報が至らないところご指摘頂きまして勉強になりました。
KT001

2022/12/22 13:58

解決して良かったです!環境問題は難しかったりするので、また何かあればご質問ください。
guest

回答1

0

自己解決

KT001様の情報提供により解決しました。
本当にありがとうございます。

もしかすると、環境の問題かもしれません。お使いのOSは、Macでしょうか?Windowsでしょうか?
(ネットワーク不調などで)ライブラリが壊れている可能性もあるので、以下のフォルダを削除して、再ロードを試して頂けないでしょうか。
Windowsの場合:C:/Users/ユーザ名/.m2
Macの場合:/Users/ユーザ名/.m2(隠しフォルダ)

投稿2022/12/22 13:39

kuroinu

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問