Сделайте представление связанной таблицы в Spring-Thymeleaf - PullRequest
0 голосов
/ 11 марта 2020

У меня проблемы с отображением связанной таблицы в Thymeleaf. В моей базе данных у меня есть 3 таблицы: соавторы, языки, уровень, и у меня есть связанная таблица collab_laguages_level. В моем классе репозитория у меня есть запрос, чтобы показать, какие языки для соавторов.

enter image description here

В моем контроллере у меня есть @RequestMapping:

enter image description here

Но у меня возникли проблемы с отображением в моем представлении тимьяна , Я пробовал много разных вещей, но ничего не работает. Я хочу создать определенный профиль для всех сотрудников, чтобы показать, на каких языках (java, php, js ...) они «говорят». Кто-нибудь, чтобы помочь мне?

1 Ответ

0 голосов
/ 11 марта 2020

Я полагаю, что вы ищете способ создания постраничного представления ваших соавторов.

Пожалуйста, проверьте этот учебник для создания нумерации страниц с Thymeleaf и Spring .

Сначала вы должны подготовить необходимую информацию о разбиении на страницы в вашем контроллере:

model.addAttribute("list", x.getContent()); // your list
int totalPages = list.getTotalPages();
    if (totalPages > 0) {
        List<Integer> pageNumbers = IntStream.rangeClosed(1, totalPages)
            .boxed()
            .collect(Collectors.toList());
        model.addAttribute("pageNumbers", pageNumbers); // list of all page-numbers (so users can click on the specific page)
    }

Затем в Thymeleaf вы перебираете свой список следующим образом (простой пример):

 <tr th:each="collaborator : ${list}">
            <td th:text="${collaborator.language}" />  // variable names of Collaborator entity
            <td th:text="${collaborator.languageLevel}" />
        </tr>

А ниже вы делаете свою нумерацию страниц (простой пример):

<div th:if="${list.totalPages > 0}" 
    th:each="pageNumber : ${pageNumbers}">
    <a th:href="@{/profiles(size=${list.size}, pages=${pageNumber})}"
        th:text=${pageNumber}></a>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...