在JSTL< c:/ forEach>中显示List元素与计数器变量 [英] Displaying List elements in JSTL <c:/forEach> with counter variable
问题描述
我有一个for循环的scriptlet,它显示来自列表< Schedule>
的电影时间表。
I have a scriptlet for-loop that displays movie schedules from a List<Schedule>
.
<%
@SuppressWarnings("unchecked")
List<Schedule> scheduleList =
(ArrayList<Schedule>) session.getAttribute("scheduleList");
for (int ctr = 0; ctr < scheduleList.size(); ctr++) {
%>
<tr>
<td class="center">
<input type="radio" name="selection" value="<%=ctr%>" required title="Please select a schedule." />
</td>
<td><%=scheduleList.get(ctr).getMallId()%></td>
<td class="center"><%=scheduleList.get(ctr).getScheduleCinema()%></td>
<td>PHP <%=scheduleList.get(ctr).getSchedulePrice()%></td>
<td><%=scheduleList.get(ctr).getScheduleDate()%></td>
<td><%=scheduleList.get(ctr).getScheduleTime()%></td>
<td class="center"><%=scheduleList.get(ctr).getScheduleSeats()%></td>
</tr>
<%
}
%>
这是 Schedule
bean对象供参考:
Here is the Schedule
bean object for reference:
public class Schedule {
private int scheduleId;
private int movieId;
private String mallId;
private int scheduleCinema;
private BigDecimal schedulePrice;
private Date scheduleDate;
private Time scheduleTime;
private int scheduleSeats;
// getters and setters
}
我管理过使用我想要的迭代次数将其转换为JSTL(相关主题)。
I have managed to convert it to JSTL with my desired number of iterations (related thread).
<c:forEach var="ctr" begin="0" end="${scheduleList.size()-1}">
<tr>
<td class="center">
<input type="radio" name="selection" value="${ctr}" required title="Please select a schedule." />
</td>
<td>${schedule.mallId}</td>
<td>${schedule.scheduleCinema}</td>
<td>${schedule.schedulePrice}</td>
<td>${schedule.scheduleDate}</td>
<td>${schedule.scheduleTime}</td>
<td>${schedule.scheduleSeats}</td>
</tr>
</c:forEach>
输出:
Firefox Inspector:
<tr>
<td class="center">
<input type="radio" title="Please select a schedule." required="" value="0" name="selection"></input>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="center">
<input type="radio" title="Please select a schedule." required="" value="1" name="selection"></input>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
不幸的是,日程安排细节没有显示。
怎么做我在JSTL的列表< Schedule>
中显示每个 Schedule
元素的数据?
Unfortunately, the schedule details are not displaying.
How do I display the data of each Schedule
element from the List<Schedule>
in JSTL?
(顺便说一下, ctr
很重要,下次行动时需要它的价值。)
(The ctr
is important by the way, its value will be needed in the next action.)
推荐答案
而不是
<c:forEach var="ctr" begin="0" end="${scheduleList.size()-1}">
使用:
<c:forEach var="schedule" items="${scheduleList}" varStatus="ctr">
<tr>
<td class="center">
<input type="radio" name="selection" value="${ctr.index}" required title="Please select a schedule." />
</td>
对于ctr,您可以在forEach中维护单独的计数器变量和增量。
For ctr you could maintain separate counter variable and increment within your forEach.
这篇关于在JSTL< c:/ forEach>中显示List元素与计数器变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!