Я пытаюсь перебрать объекты, переданные через ModelMap, используя Spring MVC.Тем не менее, текст отображается пустым при тестировании в браузере.Например:
test.jsp:
<!DOCTYPE html>
<html>
<body>
Hello ${test}
<tr th:each="user,iterStat : ${testList}">
<td th:text="${user.id}" />
<td th:text="${user.name}" />
</tr>
</body>
</html>
Код контроллера:
@GetMapping("/test")
public String test(Model model) {
model.addAttribute("test", "Bob");
List<ChatUser> users = new ArrayList<>();
users.add(new ChatUser("asdf"));
users.add(new ChatUser("ewfasdf"));
model.addAttribute("testList", users);
return "test";
}
При загрузке / тестировании после развертывания моего веб-приложения я вижу Hello Bob, ноничего больше.Проверяя источник веб-страницы, я вижу это:
<!DOCTYPE html>
<html>
<body>
Hello Bob
<tr th:each="user,iterStat : [com.mkyong.ChatUser@7a5dd809, com.mkyong.ChatUser@61f4628]">
<td th:text=""/>
<td th:text=""/>
</tr>
</body>
</html>
Как видно из th: в каждой строке объекты, очевидно, проходят должным образом.Но th: текст отображается просто пустым.
Моя сущность ChatUser:
@Entity
public class ChatUser {
@Id
@Column
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
private String name;
public ChatUser() {}
public ChatUser(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
В чем здесь проблема?