我有一个像
这样的对象类型列表List<Object> getRecords = records.getAllRecords();
ArrayList<String> recordsDetail = new ArrayList<String>();
recordsDetail = this.getRecordsDetail(getRecords.get(3));
model.addAttribute("recordsDetail", getRecords.get(3));
但是当我编写像
这样的方法时ArrayList<String> getRecordsDetail(Object records) {
}
现在我不知道如何记录records
因为记录有一些值作为向量。
任何帮助将不胜感激。谢谢
如果我在JSP中使用spring MVC做同样的事情,那就像
一样好<c:forEach var="sData" items="${recordsDetail}">
<tr>
<td>
<table border="0">
<c:forEach var="sValues" items="${sData}" varStatus="colNo">
<c:choose>
<c:when test="${colNo.count> 5 and colNo.count<9}">
<tr>
<td>${sValues} </td>
<tr>
</c:when>
</c:choose>
</c:forEach>
</table>
<hr>
</td>
</tr>
</c:forEach>
但是我想在spring MVC控制器中进行这个处理并在JSP中显示最终结果。所以我无法找到如何在控制器类中迭代records
的方法。
答案 0 :(得分:1)
一些事情。
首先,不要初始化局部变量,然后立即将其设置为某个东西。相反,只需初始化为所需的值(注意列表类型而不是ArrayList类型,这是一个很好的做法,或者可能只是我的偏好)。
List<String> recordsDetail = this.getRecordsDetail(getRecords.get(3));
接下来,迭代records
List<String> getRecordsDetail(Object records)
{
if (records instanceof Vector)
{
Object blam;
Iterator iterator;
Vector recordVector = (Vector)records;
iterator = recordVector.iterator();
while (iterator.hasNext())
{
blam = iterator.next();
// do something with blam.
}
}
}
我不知道记录元素的类型,所以如果您知道类型,我使用Object
,然后使用它而不是Object。
答案 1 :(得分:0)
这应该是
ArrayList<String> getRecordsDetail(List<Object> records) {
}
如果您可以更加具体地了解records.getAllRecords()
返回的对象类型,则应使用List<the-object-type-returned-by-getAllRecords>
。