Thymeleaf th: каждый отображает только первый элемент в выпадающем меню - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь создать выпадающее меню, перебирая объекты с помощью th: each. Однако моя реализация отображает только первый объект, а не все. Мой соответствующий код:

    <tr th:each="user : ${userList}">
        <th scope="row"><span th:text="${user.id}"></span></th>
        <td><span th:text="${user.username}"></span></td>
        <td><span th:text="${user.email}"></span></td>
        <td width="60">
            <div class="dropdown">
                <button class="btn btn-light btn-block dropdown-toggle text-right" type="button" data-toggle="dropdown"><span th:text="${user.roles[0].role}"></span>
                    <span class="caret"></span></button>
                <ul class="dropdown-menu" th:each="role : ${user.roles}">
                    <li><a href="#"><span th:text="${role.role}"></span></a></li>
                </ul>
            </div>
        </td>
        <td>@mdo</td>
    </tr>

Что я здесь не так делаю?

1 Ответ

1 голос
/ 03 октября 2019

Вы можете перебрать элемент $ {user.roles} для элемента

, например:

<ul class="dropdown-menu" >
     <li th:each="role : ${user.roles}">
        <a href="#"><span th:text="${role.role}"></span></a>
     </li>
</ul>
...