2010-07-26 86 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中执行。