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

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

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

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

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

Q&A

解決済

2回答

1502閲覧

テンプレートファイルが表示出来ない

aae_11

総合スコア178

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

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

1グッド

0クリップ

投稿2020/04/18 02:46

編集2020/04/18 03:13

ブラウザから「http://localhost:8080/login」としてアクセスした際に、エラーが表示されました。
実行は、Eclipseより、実行ボタンを押し、行いました。
エラー内容は以下の通りです。
イメージ説明
テンプレートファイル「login.html」は以下になります。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ログイン画面</title> <link th:href="@{/css/login.css}" rel="stylesheet" type="text/css"> </head> <body> <div class="contain" th:object="${CheckForm}> <ul> <li th:each="error:${#fields.detailedErrors()}" class="err" th:text="${error.message}"></li> </ul> <div class="login_title"> <p>LOG IN</p> </div> <form class="login_form" method="post" th:action="@{/top}"> <p><input class="mail_field" type="email" name="email" placeholder="Email"></p> <p><input class="password_field" type="password" name="password" placeholder="Password"></p> <p><input class="login_btn" type="submit" value="Log in"></p> </form> </div> </body> </html>

コントローラークラスの「LoginController.java」は以下になります。

package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class LoginController{ @RequestMapping(value="/login",method=RequestMethod.GET) public String input(Model model){ return "login"; } @RequestMapping(value="/top",method=RequestMethod.POST) public String indexFormSubmit(@Validated CheckForm checkForm,BindingResult error,Model model){ System.out.println("20"); if(error.hasErrors()) { System.out.println("22"); return "login"; } System.out.println("26"); return "top"; } }

エラーの原因としまして、Qiitaの記事から推測するに、テンプレートファイルに問題があるような気がするのですが、どこがエラーの原因となってしまっているのかわかりません。
どなたか、エラー解決の為、ご助言頂けましたら幸いです

追記です
過去の質問を参考に、 コントローラークラスのindexFormSubmitメソッドの引数を以下のように修正しましたが、同様の結果が表示されてしまいました。
public String indexFormSubmit(@ModelAttribute("checkForm")@Validated CheckForm checkForm,BindingResult error,Model model){

また、login.htmlをth:object="${checkForm}とし、変数部分をキャメルケース表記にしてみましたが、結果は変わりませんでした。

newyee👍を押しています

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

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

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

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

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

m.ts10806

2020/04/18 03:18

ちなみに、あの回答で低評価をつけるということはそれだけ質問への丸投げ感が増すだけです。ご承知おきください。
guest

回答2

0

自己解決

「LoginController.java」に、CheckFromクラスのインスタンスをメソッドに持たせ、
「login.html」の「th:object」に指定していた「"${CheckForm}」を「"${checkForm}"」に変更したら、エラーが解消されました。

変更した「LoginController.java」のinputメソッドは以下になります。

public String input(Model model,CheckForm checkForm){ return "login"; }

投稿2020/04/18 06:44

編集2020/04/18 07:29
aae_11

総合スコア178

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

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

m.ts10806

2020/04/18 06:45

嘘書いちゃダメでしょ。 th:object="${CheckForm}> ↑このままで動くわけがない。
guest

0

<div class="contain" th:object="${CheckForm}>

そうですね。大問題ですね。
シンタックスハイライトでも分かるかと思います。
IDE使っているなら表示や警告が出てるのでは?

本当に質問前に見つけられなかったか、考えてください。
自身を疑うことをそろそろ覚えてください。同じ手のミスを繰り返してませんか?

投稿2020/04/18 02:55

編集2020/04/18 03:03
m.ts10806

総合スコア80875

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

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

m.ts10806

2020/04/18 03:04

熱心に低評価する暇があれば既に出ている回答を上回る回答をすればいいと思うんですけど、不純な人ばかりですね。この質問者の関係者は。
m.ts10806

2020/04/18 03:15

低評価された方は回答内容のどこが間違っているかご指摘ください。 私が回答で指摘した箇所はどう見ても「構文的な間違い」が発生しています。 「ほかにもある」のならその旨を別途回答してあげてください。
m.ts10806

2020/04/18 03:24 編集

いい加減やめませんか? 問題解決と関係ない、場外乱闘をお望みでしたら別の場所を設けてください。 規約違反として通報しておきますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問