前提・実現したいこと
Springの勉強のため、テキストに書かれているコードを実行してみようと思ったのですがエラーメッセージが出てしまいました。
html側のテーブルでオブジェクトを指定し、テーブル内にその値を表示する予定なのですが、実行してローカルホストでページを確認してみたところ「Whitelabel Error Page」と表示されてうまくいきませんでした。
どのように修正すればよいのか、どこが間違っているのかがわからない状態です。
どなたかお答えいただければ幸いです。
発生している問題・エラーメッセージ
There was an unexpected error (type=Internal Server Error, status=500). Exception evaluating SpringEL expression: "id" (template: "index" - line 20, col 20)
該当のソースコード
java
1package com.example.demo; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.web.bind.annotation.RequestMapping; 5import org.springframework.web.servlet.ModelAndView; 6 7@Controller 8public class HelloController { 9 @RequestMapping(value="/") 10 public ModelAndView index(ModelAndView mav) { 11 mav.setViewName("index"); 12 mav.addObject("msg","current data."); 13 DataObject obj=new DataObject(123,"hanako","hanako@flower"); 14 mav.addObject("object",obj); 15 return mav; 16 } 17} 18class DataObject{ 19 private int id; 20 private String name; 21 private String value; 22 23 public DataObject(int id,String name,String value) { 24 super(); 25 this.id=id; 26 this.name=name; 27 this.value=value; 28 } 29 public int getid() {return id;} 30 public void setid(int id) {this.id=id;} 31 public String getname() {return name;} 32 public void setname(String name) {this.name=name;} 33 public String getvalue() {return value;} 34 public void setvalue(String value) {this.value=value;} 35}
html
1<!DOCTYPE html> 2<html lang="ja" xmlns:th="http://www.tymeleaf.org"> 3 4<head> 5<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> 6<title>top page</title> 7<style> 8h1{font-size: 18pt;font-weight: bold; color: gray;} 9body{font-size: 13pt;color: gray;margin: 5px 25px;} 10tr{margin: 5px;} 11th{padding: 5px;color: white;background: darkgray;} 12td{padding: 5px;color: black;background: #f0f0f0;} 13</style> 14</head> 15 16<body> 17<h1 th:text="#{content.title}">Helo page</h1> 18<p th:text="${msg}">message.</p> 19<table th:object="${object}"> 20<tr><th>id</th><td th:text="*{id}"></td></tr> 21<tr><th>name</th><td th:text="*{name}"></td></tr> 22<tr><th>value</th><td th:text="*{value}"></td></tr> 23</table> 24</body> 25 26</html>
試したこと
エラーメッセージ内で指定されている場所は確認しており、
<tr><th>id</th><td th:text="*{id}"></td></tr> <tr><th>name</th><td th:text="*{name}"></td></tr> <tr><th>value</th><td th:text="*{value}"></td></tr> 上記部分を一度試しに消してみたところエラーは発生せず一応は画面が表示されました。 ただ、ここからどう直せばオブジェクト内の値が表示できるのかわからず困っております。回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/30 06:58