【问题标题】:JSP renders weird HTMLJSP 呈现奇怪的 HTML
【发布时间】:2010-07-26 03:58:19
【问题描述】:

我的一个 JSP 页面出现了一个非常奇怪的行为。看起来它没有呈现完整的 HTML。它看起来像这样:

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

所以最后一行正是页面渲染时得到的内容。此外,当您查看源代码时,您会得到完全相同的结果。这个页面没有任何花哨的逻辑......没有javascript错误,没有丢失的结束标签等......

jsp页面是否有页面限制?

更多背景知识:此页面在运行 Tomcat 5.5 的 WIN2K 服务器中运行良好。我正在升级这个应用程序以在带有 WIN2008 + Tomcat 6.0 的服务器下运行。这就是我得到错误的地方......

感谢任何帮助。

【问题讨论】:

    标签: java html jsp rendering


    【解决方案1】:

    jsp页面是否有页面限制?

    AFAIK,不。

    我认为最可能的原因是您的 JSP 正在引发异常。检查 Tomcat 日志,并查看输出的最后一个 HTML 之后的 JSP。

    编辑

    @Adam Crume 说:“由于缓冲,异常可能会在输出停止位置更远的地方抛出。”

    没错。作为解决此问题的临时技巧,您可以用 try / finally 包围 JSP 的内容,并在 finally 块中刷新输出流。

    【讨论】:

    • 由于缓冲,异常可能会在输出停止位置更远的地方抛出。
    • 确实是个例外。非常感谢!
    • 实际存在限制。
    • @khebbie - 不是呈现页面的大小......这就是 OP 所说的...... IMO。
    【解决方案2】:

    jsp页面是否有页面限制?

    是的,有。大约 64KB。 JSP 基本上被编译成一个大的try 语句。在 Java 中,try 语句有 64KB 的限制。但是如果你超过这个,它就会产生一个different exception

    这个问题至少表明您在 JSP 中使用了 scriptlets。这是bad practice。每当在 JSP 页面中途发生异常时,您将得到一个空白或半成品页面,而没有关于该问题的信息。不要在 JSP 中执行业务内容,而是在预处理 Servlet 中执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 2023-03-17
      • 1970-01-01
      • 2014-04-22
      相关资源
      最近更新 更多