2010-07-26 87 views
2

我在我的一個JSP頁面中遇到了一個非常奇怪的行爲。它看起來不會呈現完整的HTML。它看起來像這樣:JSP呈現怪異HTML

<html> 
    ... 
    <table> 
    ... 
    </table> 
    <div id= 

所以最後一行就是頁面呈現時的樣子。此外,當你做一個查看源時,你會得到完全相同的結果。這個頁面沒有任何花哨的邏輯...有沒有JavaScript錯誤,沒有失蹤的結束標籤等...

是否有任何形式的頁面限制爲jsp頁面?

更多背景:在運行Tomcat 5.5的WIN2K服務器上,該頁面運行良好。我正在升級這個應用程序在WIN2008 + Tomcat 6.0的服務器下運行。這就是我得到的錯誤...

任何幫助表示讚賞。

回答

2

是否有任何形式的jsp頁面的頁面限制?

AFAIK,no。

我認爲最可能的原因是您的JSP引發異常。檢查Tomcat日誌,並在輸出最後一個HTML之後的位置查看JSP。

EDIT

@Adam Crume說:「異常可能在一個點被拋出從其中輸出停止進一步向下,由於緩衝」。

是的。作爲解決這個問題的臨時解決方案,你可以用try/finally來包圍JSP的內容,並在finally塊中刷新輸出流。

+2

由於緩衝的原因,可能會在輸出停止位置的下一個位置拋出異常。 – 2010-07-26 05:50:03

+0

這確實是一個例外。非常感謝! – 2010-07-26 07:05:02

+0

實際存在限制。 – khebbie 2017-06-22 09:35:07

2

是否有任何形式的jsp頁面的頁面限制?

是的,有。大約64KB。 JSP的基本編譯成大的try聲明。在Java中,try語句的限制爲64KB。但是,如果你超過這個數字,它會產生一個different exception

此問題至少表示您在JSP中使用腳本。這是一個bad practice。每當JSP頁面中途發生異常時,您將得到一個空白或半頁面的頁面,但沒有關於該問題的信息。不要在JSP中執行業務內容,而要在預處理Servlet中執行。