Описание:
В этом задании вы изучите концепцию итерации в Thymeleaf, создав класс StudentModel в пакете models/ и заполнив список студентов в контроллере PracticeController. Целью является передача списка студентов в представление secondView и отображение таблицы с данными студентов.
Шаги:
-
Создайте класс StudentModel:
- В пакете
models/создайте классStudentModelсо следующими атрибутами:
public class StudentModel { private Integer id = 0; private String firstName = ""; private String sureName = ""; private Boolean isGraduated = false; private Integer mark = 0; // Конструктор, геттеры и сеттеры }
- В пакете
-
Заполните список студентов в контроллере PracticeController:
- В классе
PracticeControllerсоздайте списокStudentModelи заполните его фиктивными данными студентов:
@Controller public class PracticeController { private final List<StudentModel> students = new ArrayList<>(); public PracticeController() { // Заполните список пользователями this.students.add(new StudentModel(1, "First", "User", true, 4)); this.students.add(new StudentModel(2, "Second", "User", false, 2)); this.students.add(new StudentModel(3, "Third", "User", true, 5)); this.students.add(new StudentModel(4, "Fourth", "User", false, 3)); } // Остальные методы контроллера }
- В классе
-
Передайте студентов в secondView:
- В методе
secondViewконтроллераPracticeControllerдобавьте список студентов в модель.
@Controller public class PracticeController { // Остальные методы... @GetMapping("/second") public String secondView(Model model) { // Передайте список студентов в представление model.addAttribute("students", students); // Остальная часть метода... } }
- В методе
-
Отобразите таблицу студентов в second.html:
- Откройте файл представления Thymeleaf
second.html.
- Откройте файл представления Thymeleaf
-
Отобразите заголовок таблицы:
- Добавьте раздел заголовка таблицы внутри тега
<thead>:
<table border="1"> <thead> <tr> <th>Id</th> <th>FirstName</th> <th>sureName</th> <th>Graduated</th> <th>Mark</th> </tr> </thead> <!-- Остальная часть таблицы... --> </table>
- Добавьте раздел заголовка таблицы внутри тега
-
Отобразите тело таблицы с использованием итерации:
- Добавьте раздел тела таблицы внутри тега
<tbody>и выполните итерацию по списку студентов для отображения каждой строки:
<tbody> <!-- Выполните итерацию по списку студентов и отобразите каждую строку --> <tr th:each="student : ${students}"> <td th:text="${student.id}"></td> <td th:text="${student.firstName}"></td> <td th:text="${student.sureName}"></td> <td th:text="${student.isGraduated}"></td> <td th:text="${student.mark}"></td> </tr> </tbody>
- Добавьте раздел тела таблицы внутри тега
Ваша страница должна выглядеть так:
