方法代码...超过65535字节限制

use*_*908 5 java jsp .class-file

在jsp里面我有一个小标题:

<%@ page import="java.util.*"%>

<% HttpSession CurrentSession =
 request.getSession();
 ...
%>
Run Code Online (Sandbox Code Playgroud)

......还有一个很棒的HTML

<html>
...
</html>
Run Code Online (Sandbox Code Playgroud)

如果我尝试按原样读取它,我会收到"...超过65535字节限制"的错误.我必须将其分解.因为我是java新手,我无法弄明白该怎么做.可以.请指明我的方​​式?

Joo*_*gen 2

JSP 被转换为普通的 Servlet java 源,并且某些生成的方法太大,因为方法长度有 64 KB 的限制(在字节代码上)。

如果可能,将静态包含(真正嵌入其他 JSP 源)更改为动态包含。

解决方案(可能也是好的风格)也是引入了一些将通用代码片段移入其中的方法。例如,使用以下命令生成 HTML 表格行<tr>

<%@

    void tableRow(String... cellValues) {
        %><tr><%
           for (String cellValue : cellValues) {
               %>  <td><%= cellValue %></td>
  <%
           }
        %></tr>
  <%
    }
%>
Run Code Online (Sandbox Code Playgroud)

...

<%
    tableRow("one", "unu", "un");
    tableRow("two", "du", "deux");
    tableRow("three", "tri", "trois");
%>
Run Code Online (Sandbox Code Playgroud)

PS上述方法规模太小,节省不了多少,取大块并创建类似的方法createResultsTable更有效。