JSTL forEach 루프의 varStatus를 ID로 사용


104

JSTL forEach 루프의 개수를 사용하고 싶지만 코드가 작동하지 않는 것 같습니다.

<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
    <div id="divIDNo${theCount}">
    </div>
</c:forEach>

생산하다

<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2" >

9
다음은 클래스의 javadoc입니다. download.oracle.com/javaee/6/api/javax/servlet/jsp/jstl/core/… 제공하는 getter 메소드를 살펴보십시오. 예, getIndex()
무엇보다도

답변:


259

에서 설정 한 변수 는 int varStatus가 아닌 LoopTagStatus객체입니다. 사용하다:

<div id="divIDNo${theCount.index}">

명확히하기 위해 :

  • ${theCount.index}속성을 0설정하지 않으면 계산 시작begin
  • ${theCount.count} 계산 시작 1

21
${theCount.count} 항상 1에서 ${theCount.index}시작 begin합니다. 속성을 설정 한 항목에서 시작 합니다. 예를 들면<c:forEach var="foo" items="${bar}" begin="5" varStatus="theCount">
vegemite4me

8

다음 중 하나를 사용합니다.

JSTL c : forEach varStatus 속성

속성 Getter 설명

  • current getCurrent () 현재 반복 라운드에 대한 항목 (컬렉션의 항목)입니다.

  • index getIndex () 현재 반복 라운드의 인덱스 (0부터 시작)입니다.

  • count getCount () 현재 반복 라운드의 1부터 시작하는 횟수

  • first isFirst () 현재 라운드가 반복의 첫 번째 패스인지 여부를 나타내는 플래그
  • last isLast () 현재 라운드가 반복의 마지막 패스인지 여부를 나타내는 플래그

  • begin getBegin () 시작 속성의 값

  • end getEnd () 종료 속성의 값

  • step getStep () 단계 속성의 값


4

이것을 시도 할 수 있습니다. 비슷한 결과

 <c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
    <div id="divIDNo${theCount.count}"></div>
 </c:forEach>

1

showDetailItem아래 코드 에 대한 ID를 동적으로 생성하는 데 정말 도움이되었습니다 .

<af:forEach id="fe1" items="#{viewScope.bean.tranTypeList}" var="ttf" varStatus="ttfVs" > 
<af:showDetailItem  id ="divIDNo${ttfVs.count}" text="#{ttf.trandef}"......>

이 줄을 실행 <af:outputText value="#{ttfVs}"/>하면 다음과 같이 인쇄됩니다.

{index = 3, count = 4, last = false, first = false, end = 8, step = 1, begin = 0}


@HenryKeiter 여기에 실제 답변이 있습니다. 잘못된 서식은 내가 고칠 때까지 모든 html을 숨겼습니다.
Dan Is Fiddling By Firelight

이것은 3 년 전에 이미 제공된 것과 똑같은 대답을 제공합니다 (사용 varStatus.count). 왜 다른 사람의 답변을 읽어야합니까? ;)
rustyx 2015 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.