Как получить значение индекса из цикла foreach в jstl
у меня есть набор значений в request объект следующим образом:
String[] categoriesList=null;
categoriesList = engine.getCategoryNamesArray();
request.setAttribute("categoriesList", categoriesList );
и вот как я повторяю в JSP page
<% if(request.getAttribute("categoriesList") != null) { %>
<c:forEach var="categoryName" items="${categoriesList}">
<li><a onclick="getCategoryIndex()" href="#">${categoryName}</a></li>
</c:forEach>
<% }%>
как мне получить индекс каждого элемента и передать его в функцию JavaScript onclick="getCategoryIndex()".
4 ответов:
использовать varStatus получить индекс c: свойства foreach varStatus
<c:forEach var="categoryName" items="${categoriesList}" varStatus="loop"> <li><a onclick="getCategoryIndex(${loop.index})" href="#">${categoryName}</a></li> </c:forEach>
можно использовать такой:-
<c:forEach var="categoryName" items="${categoriesList}" varStatus="myIndex">myIndex.индекс даст вам индекс. Здесь
myIndex- это LoopTagStatus
я сталкиваюсь с подобной проблемой теперь я понимаю, что у нас есть еще несколько вариантов : varStatus= "loop", здесь будет переменная loop will, которая будет содержать индекс lop.
Он может использовать для использования для чтения базового индекса Zeor или 1 одного базового индекса.
${loop.count}` it will give 1 starting base index.
${loop.index} it will give 0 base index as normal Index of arrayначать с 0.Например :
<c:forEach var="currentImage" items="${cityBannerImages}" varStatus="loop"> <picture> <source srcset="${currentImage}" media="(min-width: 1000px)"></source> <source srcset="${cityMobileImages[loop.count]}" media="(min-width:600px)"></source> <img srcset="${cityMobileImages[loop.count]}" alt=""></img> </picture> </c:forEach>для получения дополнительной информации, пожалуйста, обратитесь этот ссылке
${categoryName}
строке дает ошибку для меня. поэтому я записал ниже способ, который отлично работает для меня. ') "href=" # " >${categoryName}
может быть кто-то еще может получить ту же ошибку. Посмотрите на этих ребят!!
Comments