我有一个从DB返回的Collection对象。我想看看大小是0还是> 0并且相应地指示我前进。
为了实现这一点,我使用了迭代器和hasNext()
,如下所示,
if (!report.getFtRecords().iterator().hasNext())
{
NoRecord = true;
}
If(NoRecord)
forwardName = "successNoRecord"; // retains in the same page
else
forwardName = "success"; //goes to 2nd page page
在JSP中,我使用相同的报表对象,在scriptlet中,它们执行iterator.hasNext()。这适用于' 0'从DB返回的记录和从DB返回的多条记录。但是如果只有一条记录,我使用相同的报表对象,因为我在动作类中执行hasNext()并在JSP中执行相同操作,Cursor移出第一条记录并在JSP.9中不显示任何内容,因为结果集有1记录)。由于它是一个迭代器,我无法重置集合。由于我的类扩展了抽象集合,因此我无法获取集合的size(),因此调用.size()的任何内容都会抛出异常。我该如何处理。我尝试通过发送带有计数的最后一列来处理数据库,但最终会出现同样的问题。有什么建议吗?
答案 0 :(得分:0)
toArray()是否也返回UnsupportedOperationException?
report.getFtRecords()。指定者()?
您可以1)使用数组进行迭代,2)检查数组的长度并准确执行。