朋友们,我需要你的帮助才能在我的项目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项目中实现面包屑?
答案 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
干杯!