Spring Boot + Thymeleaf每个+

时间:2018-05-25 07:37:58

标签: java spring-boot thymeleaf

来自Backend Java,我有一张这样的地图:
映射allMenus
此地图已包含这些对象:
1. allMenus
2. subMenus
他们的详细信息是:

{subMenu=[MenuItem [id=3, itemCaption=sub menu 1-1, itemUrl=http://www.google.com.tw, itemParentId=1, itemOrder=1], MenuItem [id=4, itemCaption=sub menu 1-2, itemUrl=http://tw.yahoo.com, itemParentId=1, itemOrder=2], MenuItem [id=5, itemCaption=sub menu 2-1, itemUrl=http://tw.msn.com, itemParentId=2, itemOrder=1], MenuItem [id=6, itemCaption=sub menu 2-2, itemUrl=https://www.hosting24.com/, itemParentId=2, itemOrder=2], MenuItem [id=7, itemCaption=sub menu 2-3, itemUrl=http://u.camdemy.com/, itemParentId=2, itemOrder=3]], rootMenu=[MenuItem [id=1, itemCaption=top menu 1, itemUrl=null, itemParentId=0, itemOrder=1], MenuItem [id=2, itemCaption=top menu 2, itemUrl=null, itemParentId=0, itemOrder=2]]}


现在,在前端HTML中:
我使用以下代码形成一个SideBar,其中包含顶层菜单和子菜单,总水平= 2,但失败。
请阅读我的代码:

<nav id="sidebar">
    <div style="height: 100px;"></div>
    <div th:each="rootMenu:${allMenus.rootMenu}">
            <button type="button" id="btn-sidebar" class="btn btn-warning"
                data-toggle="collapse" data-target="#menu1sub1"
                th:text="${rootMenu.itemCaption}"></button>
                <div class="collapse" id="menu1sub1">
                    <ul th:each="subMenu:${allMenus.subMenu}">
                        <li class="nav-item" th:if="${subMenu.itemParentId == rootMenu.id}">
                            <a th:href="${subMenu.itemUrl}" th:text="${subMenu.itemCaption}"
                            ></a>
                        </li>
                    </ul>
                </div>
    </div>
</nav>

上述代码的结果是:
1.正确显示所有顶级菜单 2.但是,子菜单都放在第一个顶级菜单中,这是错误的
enter image description here

0 个答案:

没有答案