Saya ingin menggunakan hitungan dari loop JSTL forEach, tetapi kode saya sepertinya tidak berfungsi.
<c:forEach items="${loopableObject}" var="theObject" varStatus="theCount">
<div id="divIDNo${theCount}">
</div>
</c:forEach>
menghasilkan
<div id="divIDNojavax.servlet.jsp.jstl.core.LoopTagSupport$1Status@5570e2" >
getIndex()
:)Jawaban:
Variabel yang ditetapkan oleh
varStatus
adalahLoopTagStatus
objek, bukan int. Menggunakan:Untuk memperjelas:
${theCount.index}
mulai menghitung0
kecuali Anda telah menyetelbegin
atributnya${theCount.count}
mulai menghitung pada1
sumber
${theCount.count}
selalu dimulai pada 1.${theCount.index}
dimulai pada apa pun yang Anda aturbegin
atributnya. misalnya<c:forEach var="foo" items="${bar}" begin="5" varStatus="theCount">
Anda akan menggunakan salah satu dari ini:
JSTL c: forEach varStatus properti
Deskripsi Pengambil Properti
current getCurrent () Item (dari koleksi) untuk putaran iterasi saat ini.
index getIndex () Indeks berbasis nol untuk putaran iterasi saat ini.
count getCount () Jumlah satu berbasis untuk putaran iterasi saat ini
Last isLast () Flag menunjukkan apakah putaran saat ini adalah yang terakhir melewati iterasi
begin getBegin () Nilai atribut mulai
end getEnd () Nilai atribut end
step getStep () Nilai atribut step
sumber
Anda bisa mencobanya. hasil serupa
sumber
Ini sangat membantu saya untuk secara dinamis menghasilkan id
showDetailItem
untuk kode di bawah ini.jika Anda menjalankan baris ini
<af:outputText value="#{ttfVs}"/>
mencetak di bawah ini:sumber
varStatus.count
), hanya saja kurang terbaca. Mengapa repot-repot membaca jawaban orang lain? ;)