Перебирая список объектов Thymeleaf, список пустых - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь перебрать объекты, переданные через 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;
    }
}

В чем здесь проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...