所以,我有一个自定义对象或一个对象列表(自定义,自定义,我的意思是它包含一个int,一个日期,一个字符串和一个Double值)。我把它保存在控制器的列表中。 到目前为止一切正常,但是当我进入JSP视图并且我想展示这些细节时,我不知道该怎么做。
代码在这里...... 控制器:
List<Object> orders = new ArrayList<Object>();
orders.add(order.getId());
orders.add(order.getDate());
orders.add(prdtDiscript);
orders.add(cost);
model.addAttribute("orderList", orders);
查看:
<table class="TFtable">
<c:forEach begin="0" end="${orderList}" varStatus="orders">
<tr>
<td><h3>Id</h3></td>
<td><c:out value="${orders}"></c:out></td>
<td><h3>Date</h3></td>
<td><c:out value="${orders.getDate()}"></c:out></td>
<td><a href="/order/orderDetail?orderId=${ordera.getId()}">Edit</a></td>
<td><a href="/order/delete?orderId=${orders.getId()}">Delete</a></td>
</tr>
</c:forEach>
</table>
我从一些互联网示例获得的视图中的第一行,但我无法从这里进入下一步,大多数时候我们有一个对象,我们可以做一些.get()操作,来获取值。但正如我所说它是一个自定义对象,我无法访问任何类型的方法,价值就在那里。只是不知道如何得到它们。 让我们说列表的前4行看起来像是这样的:
0: 1
1: 03/11/2016
2: some string
3: 34
现在列表的其余部分遵循相同的模式......
对不起我也应该把计算部分放在一边,以防其他人理解我的意思:
List<Object> orders = new ArrayList<Object>();
String prdtDiscript = "";
Double cost = 0.0;
for (Order order: EMarketApp.getStore().getOrderList()){
int i = 0;
if (!order.getProducts().isEmpty())
for (Product product: order.getProducts()){
if (i== 0)
prdtDiscript = prdtDiscript + product.getName();
else if (i > 0 )
prdtDiscript = prdtDiscript + ", " + product.getName();
i++;
Double price =product.getPrice();
int amount = order.getSinglePrdtAmount(product.getId());
cost += price * amount;
}
orders.add(order.getId());
orders.add(order.getDate());
orders.add(prdtDiscript);
orders.add(cost);
}
感谢任何帮助...