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

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

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

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

Spring Boot

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

Q&A

1回答

21348閲覧

Thymeleafエラーがわからない

zipan

総合スコア13

Thymeleaf

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

Spring Boot

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

0グッド

0クリップ

投稿2016/06/24 13:49

編集2022/01/12 10:55

Thymeleafとspringで画面を作ろうとした際
URLにアクセスすると以下のようなエラーが出力されます。

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Fri Jun 24 22:35:24 JST 2016
There was an unexpected error (type=Internal Server Error, status=500).
com.qiita.demo.web.controller.TestController.home(Lcom/qiita/demo/web/form/TestForm;Lorg/springframework/web/servlet/ModelAndView;)Lorg/springframework/web/servlet/ModelAndView;

これは何が原因で発生しているエラーなのでしょうか

html

1<!DOCTYPE html> 2<html xmlns ="http://www.w3.org/1999/xhtml" 3xmlns:th ="http://www.thymeleaf.org" 4xmlns:layout ="http://www.ultraq.net.nz/thymeleaf/layout" 5layout:decorator="base"> 6 7<head> 8<title>test</title> 9<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" /> 10 </head> 11<body> 12<div class="panel-body"> 13<form th:action="@{test}" th:object="${form}" method="post"> 14 <div class="table-responsive table-x-scroll"> 15 <table class="table table-bordered table-striped table-condense"> 16 <thead class="sunflower"> 17 <tr> 18 <td>ID</td> 19 <td>NAME</td> 20 </tr> 21 </thead> 22 <tbody th:each="beans : ${form}"> 23 <tr> 24 <td class="text-str" th:text="${beans.getId}"></td> 25 <td class="text-str" th:text="${beans.getName}"></td> 26 </tr> 27 </tbody> 28 </table> 29 </div> 30</form> 31</div> 32</body> 33</html>

java

1@Controller 2public class TestController { 3 4 5 @RequestMapping(value = "/test") 6 @ResponseBody 7 public String home(TestForm form, Model model) { 8 List<TestBean> details = new ArrayList<TestBean>(); 9 details = getList(); 10 form.setList(details); 11 model.addAttribute("form", form); 12 13 return "test"; 14 } 15 16 17 18 19 20 public List<TestBean> getList(){ 21 List<TestBean> list = new ArrayList<TestBean>(); 22 TestBean a = new TestBean(); 23 a.setId(1); 24 a.setName("aaa"); 25 list.add(a); 26 TestBean b = new TestBean(); 27 b.setId(2); 28 b.setName("bbb"); 29 list.add(b); 30 TestBean c = new TestBean(); 31 c.setId(2); 32 c.setName("ccc"); 33 list.add(c); 34 return list; 35 } 36 37}

宜しくお願いいたします。

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

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

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

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

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

eripong

2016/06/25 08:30

エラーメッセージにスタックトレースは出ていませんか?
guest

回答1

0

詳しい状況が分からないので確実なことは言えませんが、簡単な理由だったらこれで解決しそうです。

(Thymeleafはバージョン3.0.1.RELEASEで確認)

まず、beans.getIdbeans.idにするか、カッコを付けてbeans.getId()にしないとダメだと思います。nameも同様です。

それでもダメなら、TestFormの中身が分からないので、
コントローラーでmodel.addAttribute("details", details);と直接detailsをモデルにセットしてしまって、test.htmlの方を下記のようにしてしまえば出力できるようになると思います。

<tbody th:each="detail : ${details}"> <tr> <td class="text-str" th:text="${detail.id}"></td> <td class="text-str" th:text="${detail.name}"></td> </tr> </tbody>

いずれにしても、エラーの詳細を確認する方法を見つけておくべきでしょうね。
上記の理由だったら、エラーメッセージを見ればすぐに分かります。

Spring Bootはあまり詳しくないので、エラーメッセージの詳細を見る方法はお教えできなくてすみません。

投稿2016/08/28 12:20

argius

総合スコア9388

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問