如何在Spring MVC&amp ;;中实现面包屑Thymeleaf

时间:2015-06-01 12:56:14

标签: spring-mvc breadcrumbs

朋友们,我需要你的帮助才能在我的项目SpringMVC,JPA,thymeleaf中实现面包屑。我发现https://github.com/pawanspace/BreadCrumb-Spring-MVC示例项目很有用,但我被困在这里。

<c:forEach var="entry" items="${sessionScope.currentBreadCrumb}">
    <c:choose>
        <c:when test="${entry.currentPage == true}">
            ${entry.label}
        </c:when>
        <c:otherwise>
                <a href="${entry.url}">${entry.label}></a>
        </c:otherwise>
    </c:choose>
</c:forEach>

上面的代码是用JSP编写的。由于我使用百里香,任何人都可以帮助我在百里香中写下这个逻辑,还是有更好的方法可以在SpringMVC项目中实现面包屑?

1 个答案:

答案 0 :(得分:1)

看起来这个帖子很老了,但基本上你正在寻找的是一种在Thymeleaf上迭代一个集合的方法。我最近使用bootstrap和Thymeleaf做了类似的事情。

 <ul class="breadcrumb" >
     <li th:each="entry : ${sessionScope.currentBreadCrumb}">
         <a th:href="${entry.queryString}" th:unless="${entry.isCurrent}" th:text="${entry.label}">Home</a>
         <span th:if="${entry.isCurrent}" th:text="${entry.label}">Home</span>
     </li>
 </ul>

查看此代码snipet,您可以使用thymeleaf属性来控制链接(href)的外观:除非。 span标签以类似的方式使用thymeleaf属性:if。

“th:unless”相当于使用“th:if”进行否定检查。这确实是一个偏好问题。

如果您对条件逻辑有疑问,请查看以下链接:http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#simple-conditionals-if-and-unless

看看这是如何迭代集合的,你会看到使用th:each =“entry:$ {sessionScope.currentBreadCrumb}”,它位于列表项标签内; entry成为currentBreadCrumb集合的迭代器。

如果您有任何疑问,请再次查看此链接:http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#using-theach

干杯!