2012-01-17 81 views
0

我有一個jsp,它有一個struts循環「logic:iterate」,它顯示數據庫中的所有傳遞基礎條目。但是,一旦循環輸出特定數量的字符到屏幕上,它將停止所有輸出並且整個頁面立即中斷。Struts循環中斷特定字符數

字符的具體數量可以通過從循環輸出每次迭代中刪除一個字符導致循環輸出顯示爲更多頁面的事實來證明。例如電流環路是這樣的:

<logic:iterate name="list" id="item"> 
    <tr> 
     <td><bean:write name="item" property="deliverybasis"/></td> 
     <td><a style="text-decoration: none;" href="confirmRemoveDeliveryBasis.do?&id=<bean:write name="item" property="deliverybasis"/>"><bean:message key="text.remove"/></a> </td> 
    </tr> 
</logic:iterate> 

目前有18個行的交付基礎表,但突破是發生之前的循環可以完成。因此,此循環輸出12個tr,但在最後一次迭代時,它只能移除鏈接的「<a」。假設您從代碼中刪除1個字符,例如從href值中刪除1個字符。通過這樣做,每次迭代輸出的字符數將減少1.這將使循環顯示爲輸出更多代碼,實際上它輸出的字符數量完全相同。

在我們的示例中,不是停在「<a」處,循環將停止在'<a style="text'處。乍一看,它看起來好像已經輸出了更多的字符,但是如果您記得我們在每次迭代期間輸出的字符數減少了1,並且現在有12次迭代,那麼您會意識到,總數相同字符已輸出。如果您發現,「風格=「文本」正是12個字符。

我的問題是什麼可能會導致這種情況發生?有沒有在代碼中需要被正確地設置一個設置或配置?

+0

可能是任何事情,還不夠繼續。多少個字符? 12日的數據有什麼不同?這是包含在內嗎?自定義標籤?瓦?當然,Struts中沒有任何特別的東西會在* n *字符後任意*停止。 – 2012-01-17 23:47:43

回答

0

經過大量的搜索之後,我在form-b​​ean defintion中發現了一個錯字,form-b​​ean無法找到我指定的類,因此出現了問題。儘管根據我的經驗和觀點,這是一種奇怪的方式這個錯誤會顯示出來,我認爲它會打破整個頁面,不工作一半的頁面,然後完全沒有任何錯誤或通知

修復這個錯字之後,問題就解決了

+0

應該是啓動日誌中的消息。 – 2012-01-18 00:16:51