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

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

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

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Spring Boot

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

Q&A

解決済

1回答

6894閲覧

SpringBootで実行し、Webアクセスするとwhitelabel error pageになる

sad

総合スコア16

Java

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

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Spring Boot

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

0グッド

1クリップ

投稿2020/09/30 06:20

編集2020/09/30 06:59

現在SpringBootの学習に着手したのですが、初歩で転びました。
localhost:8080/にアクセスするとHelloWorldが表示されるものを作成しております。
ネットのサンプルをほぼそのまま使用し、手順も同じようにしているのですが
localhost:8080/にアクセスしてもWhitelabelErrorPageとなり、望んでいる画面になりません。
pom.xmlには必要最低限のwebとthymeleafのみです

pom

1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-thymeleaf</artifactId> 4 </dependency> 5 <dependency> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-web</artifactId> 8 </dependency>

手順:
1)src/main/java/contorollerにHelloController.javaクラス作成

HelloController

1package controller; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.ui.Model; 5import org.springframework.web.bind.annotation.RequestMapping; 6 7@Controller 8public class HelloController { 9 10 @RequestMapping("/") 11 public String firstView(Model model) { 12 model.addAttribute("hello", "Hello World"); 13 return "test/hello"; 14 } 15}

2)src/main/resources/templates/testにhello.html作成

hello

1<!DOCTYPE html> 2<html xmlns:th="http://www.thymeleaf.org"> 3<head> 4<meta charset="UTF-8" /> 5<title>thymeleafのテスト</title> 6</head> 7<body> 8 <p th:text="${hello}">thymeleaf</p> 9</body> 10</html>

3)プロジェクト名を右クリック→実行→spring bootアプリケーション
4)localhost:8080/にアクセス
の流れで行いました。

設定が足りないのか、構文が間違っているのか(コピペ)わかりません。
不足情報等ございましたら随時追加いたします。
ご助力お願いいたします。

環境:
STS4
windows10 64bit

追記:
構造

エラーメッセージ:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Sep 30 14:55:53 JST 2020
There was an unexpected error (type=Not Found, status=404).

aplicationproperties

1spring.thymeleaf.mode=HTML

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

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

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

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

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

A-pZ

2020/09/30 06:53

application.properties には 何か追記されていますでしょうか?
sad

2020/09/30 06:58

spring.thymeleaf.mode=HTML とだけ追記しています
m.ts10806

2020/09/30 07:42

解決できたようですし、どこかのタイミングで質問を「解決済み」にしておいてもらえたらと思います。
sad

2020/09/30 07:49

すいません、進めたことに有頂天で忘れてました。 ありがとうございました。
m.ts10806

2020/09/30 07:50

あいえ、急かす意図はありませんでした。失礼。
guest

回答1

0

ベストアンサー

エラー見ていけば何が悪いのか書いてある場所はあるかと思います。

たぶんこういう風に出てるはず

Error resolving template [test/hello], template might not exist or might not be accessible by any of the configured Template Resolvers
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [test/hello], template might not exist or might not be accessible by any of the configured Template Resolvers

最後訳すとこう書いてあります。

template might not exist or might not be accessible by any of the configured Template Resolvers

テンプレートが存在しないか、構成されたテンプレートリゾルバーのいずれからもアクセスできない可能性があります

エラーメッセージの読み方と対処, 検索や質問の原則

src/main/resources/templatesにhello.html作成

とありますが、

return "test/hello";

と指定しているので、テンプレートHTMLを指定するパスが間違っています。
どう調整するか、修正するかはどういう構成で組んでいるか次第なので、決めてください。

投稿2020/09/30 06:29

編集2020/09/30 06:35
m.ts10806

総合スコア80875

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

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

sad

2020/09/30 06:33

申し訳ございません、、書きぬかってました。 src/main/resources/templates/testが存在します。 修正させていただきます。
m.ts10806

2020/09/30 06:36

src/main/resources/templates/test が存在するのと、 src/main/resources/templates/testの配下にhello.htmlがあるのとはまた別の話です。 プロジェクトエクスプローラのキャプチャと、エラー全文コピペで提示してください。 一部抜き出し、要約ではいけません。 https://teratail.com/help/question-tips#questionTips3-4-2
sad

2020/09/30 06:40

エラーはwhitelabelerrorpageでよろしいでしょうか? コンソールには特にエラーが出ていないのですが、、 キャプチャ追加させていただきます。
m.ts10806

2020/09/30 06:42

>エラーはwhitelabelerrorpageでよろしいでしょうか? それだけが出てることってないと思います。 画面にもそれだけですか?ひとまず出てるものは全てですね。
sad

2020/09/30 06:46

追加させていただきました。
m.ts10806

2020/09/30 06:51

404ですか。 となると、そもそもリクエスト通ってませんね。コントローラに入る前に落ちてます。 何かしら設定とかしましたか?プロジェクト名をURLに入れるようにするとか、ここに至るまでにやったこと
sad

2020/09/30 06:55

eclipseではいろいろ設定してましたが、今回は別にSTSをインストールし使用しているのでまだ何も設定はいじっていないはずです。 ファイル→新規→Springスターターetc..の手順を行ったくらいだと思います。
q_sane_q

2020/09/30 07:02

横から失礼します パッケージ階層がおかしくないでしょうか? SpringBootは(特に設定をしない場合)mainメソッドを持つクラスがあるパッケージの配下にあるパッケージしかコントローラやサービスのDIをしに行かなかったと思います。
m.ts10806

2020/09/30 07:06 編集

あぁそれですね。 HelloControllerのパッケージをcom.example.demo 配下に修正。
sad

2020/09/30 07:08 編集

修正して再度実行したところ、test/hello と画面に出ました。 どうやら文字列として認識してしまっている?みたいなのですが...
sad

2020/09/30 07:25

試行錯誤している中で@Controllerを@RestControllerに変えてみていたことを忘れていました!戻すと無事動作することが確認できました。 ありがとうございました!
m.ts10806

2020/09/30 07:25

念のため、現状のコードを質問本文に追記いただけますか?(今のコードを修正ではなく、最後尾に追記が望ましいです) 同コントローラのコード(RequestMappingからですが)で同じ場所にテンプレート作ったらきちんと「Hello World」がでました。 念のためModelAndViewのほうも試してもらいたいです。 https://qiita.com/yakumo3390/items/4d4214fc4ded78f40517
m.ts10806

2020/09/30 07:27

>@RestControllerに変えてみていたこと あぁ、それだと返却値がそのまま出力されますね。 進んだようで何よりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問