在JSTL< c:/ forEach>中显示List元素与计数器变量 [英] Displaying List elements in JSTL <c:/forEach> with counter variable

查看:98
本文介绍了在JSTL< c:/ forEach>中显示List元素与计数器变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个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&lt; c:/ forEach&gt;中显示List元素与计数器变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆