这里只是一个一般性问题。我有一个简单的网络应用程序,它允许用户过滤数据库中的许多记录。现在这不是一个特别大的列表(目前为 1,200 - 1,500)
但是我似乎遇到了一些零星的问题,没有错误,并且想知道是否有人看起来类似。
基本上,我返回的列表返回了预期的结果数量(例如 1,267),但有时并非所有结果都显示出来。有时您运行搜索并获得全部 1,267,有时页面似乎只是“停滞”在 74 或 123 之类的位置。再次点击搜索,可能会发生同样的情况,再次点击它,这次它可以工作(全部 1,267 个返回)。然后它会在接下来的 2 或 3 次工作,然后它会回到只显示 73 个结果。
现在从 Java 的角度来看,List 是正确的,所以这一定是 Struts 标签的问题(特别是<s:iterator>
)。
我只是想知道是否有其他人经历过这种情况以及如何解决它。
同样值得注意的是,结果似乎加载得很慢,几乎就像 10 个块,然后延迟 2 秒,然后再延迟 10 秒,因此您可以想象 1,267 大约需要一分钟!这似乎非常错误。
如您所见,迭代器没有什么特别之处:
<s:iterator value="resultList" var="obj" status="row">
<tr>
<td>[<s:property value="%{#row.count}"/>]</td>
<td noWrap="true"align="center"><input type="checkbox" name="allocateChkBox" value="<s:property value="#obj.id"/>" /></td>
<td noWrap="true"><s:property value="#obj.reference"/></td>
<td noWrap="true"><s:property value="#obj.status"/></td>
<td noWrap="true"><s:property value="#obj.resource"/></td>
<td noWrap="true"><s:property value="#obj.society"/></td>
<td noWrap="true" align="center"><s:property value="#obj.date"/></td>
<td noWrap="true" align="center"><s:textfield size="11" name="quantity" value="%{#obj.quantity}"/></td>
<td noWrap="true"><s:property value="#obj.embellisher"/></td>
<td noWrap="true" align="center"><s:textfield maxLength="5" size="2" name="boxNumber" value="%{#obj.boxNumber}" /></td>
<td noWrap="true" align="center"><s:textfield size="11" name="trackingNumber" value="%{#obj.trackingNumber}"/></td>
</tr>
</s:iterator>