我正在尝试使用JSP页面开发 Spring MVC应用程序,但我遇到了一个问题.它更像是一个创造性问题,而不是一个代码问题,但是这里有: 因此,应用程序基本上收到一个配方(字段名称,问题描述
因此,应用程序基本上收到一个配方(字段名称,问题描述,问题解决方案等),并在创建时在其上拍一个ID.
我想要的是在头版上显示最后创建的3个食谱.我想出了一个显然显示前3个食谱的代码:
<c:forEach var="recipe" items='${recipes}'> <c:if test="${recipe.id < 4} <div class="span4"> <h3<c:out value="${recipe.inputDescProb}"></c:out></h3> <p><c:out value="${recipe.inputDescSol}"></c:out></p> <p><a class="btn" href="/recipes/${recipe.id}">Details »</a></p> </div> </c:if> </c:forEach>
有关如何显示最后3个食谱的想法吗?
使用fn:length()EL函数计算配方总数.在我们使用任何EL函数之前,我们还需要导入必要的标记库.<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
然后我们使用< c:set>将总计设置为页面范围属性.
<c:set var="totalRecipes" value="${fn:length(recipes)}" />
c为C:的forEach>允许您使用其varStatus属性获取循环计数器.计数器的范围是循环的本地范围,它会自动递增.此循环计数器从1开始计数.
<c:forEach var="recipe" items='${recipes}' varStatus="recipeCounter"> <c:if test="${recipeCounter.count > (totalRecipes - 3)}"> <div class="span4"> <h3<c:out value="${recipe.inputDescProb}"></c:out></h3> <p><c:out value="${recipe.inputDescSol}"></c:out></p> <p><a class="btn" href="/recipes/${recipe.id}">Details »</a></p> </div> </c:if> </c:forEach>
编辑:使用LoopTagStatus类的count属性来访问EL中迭代计数器的当前值$$varStatusVar.count}.