我正在尝试从不同的表中加载订单数据。
我也使用JOIN
查询从表中显示数据。
这是我的o / p:
我想要这样的事情:
如果重复,那么订单ID,即此处的编号应显示一次。
我的JSP代码:
<table class="table table-condensed">
<%
List<String> oIdList = (List<String>)request.getAttribute("oIdList");
List<String> pNameList = (List<String>)request.getAttribute("pNameList");
List<String> pQtyList = (List<String>)request.getAttribute("pQtyList");
List<String> pTimeList = (List<String>)request.getAttribute("pTimeList");
List<Boolean> pStatusList = (List<Boolean>)request.getAttribute("statusList");
%>
<thead>
<tr>
<th width="8%">No.</th>
<th width="23%">Product Name</th>
<th width="20%">Product Qty</th>
<th width="18%">Order Time</th>
<th width="22%"><div align="center">Order Status</div></th>
</tr>
</thead>
<tbody>
<%
for(int i = 0; i<pNameList.size(); i++)
{
%>
<tr>
<td><%= oIdList.get(i) %></td>
<td class="center"><%= pNameList.get(i) %></td>
<td class="center"><%= pQtyList.get(i) %></td>
<td class="center"><%= pTimeList.get(i) %></td>
<%
if(pStatusList.get(i))
{
%>
<td class="center"><div align="center"><span class="label label-success">Delivered</span></div></td>
<%
}
else
{
%>
<td style="text-align: center;" width="9%"><span class="label">Pending</span></td>
<%
}
%>
</tr>
<%
}
%>
</tbody>
</table>
所以任何建议请..
答案 0 :(得分:1)
您好。伙伴。试试这个
for(int j =0,i = 0; i<pNameList.size(); i++) {
%> <tr> <%
if(i==0){
j++;
%> <td><%= j %></td> <%
}else if(oIdList.get(i) != oIdList.get(i-1)){
j++;
%> <td><%= j %></td> <%
}else{
%> <td></td> <%
}
%>
<td class="center"><%= pNameList.get(i) %></td>
<td class="center"><%= pQtyList.get(i) %></td>
<td class="center"><%= pTimeList.get(i) %></td>
答案 1 :(得分:0)
每次在循环周围将一个变量lastIdDisplayed设置为id(将其初始化为-1或其他无效的东西)。如果lastIdDisplayed == id,则不显示id。
答案 2 :(得分:0)
您的示例不是面向对象。您应该将所有这些字符串数组列表转换为 Order 对象。
然后遍历Orders(首先使用Comparable接口对它们进行排序,然后比较订单ID值)。
然后使用一些基本逻辑来检查最后的订单ID值是否与最后一个相同。