這裏只是一個普遍的問題。 我有一個簡單的網絡應用程序,它允許用戶通過數據庫中的許多記錄進行過濾。現在這不是一個特別大的列表(目前1,200 - 1,500)Java Struts標記迭代器在大列表中掙扎
但我似乎有一些零星的問題沒有錯誤,並想知道如果任何人似乎有類似的東西。
基本上我返回的列表正在返回預期的結果數量(示例1,267),但有時並非所有結果都顯示出來。有時你運行搜索,你得到所有1,267,另一次頁面似乎只是停止在說或74或什麼的東西。再次點擊搜索,可能會發生同樣的情況,再次點擊並且這次有效(全部1267個返回)。然後它會在接下來的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>
它取決於搜索按鈕的工作方式,所以更好的帖子[SSCCE](http://sscce.org) –
您是否告訴我們您實際上在網頁中顯示1500行?這顯然是一個反模式......你不能使用分頁? –