方法代码…超过65535字节限制
在jsp里面我有一个小标题:
……还有一个很棒的HTML
...
如果我尝试按原样读取它,我会收到“…超过65535字节限制”的错误。我必须将其分解。因为我是java的新手,我无法弄明白该怎么做。可以。请指明我的方式?
JSP被转换为普通的Servlet java源,并且一些生成的方法太大,因为方法长度上有64 KB的限制(在字节代码上)。
如果可能,使用动态包含更改静态包括(实际嵌入其他JSP源)。
解决方案(可能还有很好的风格)也介绍了一些移动通用代码的方法。 例如,使用
生成HTML表格行:
<%@ void tableRow(String... cellValues) { %><% for (String cellValue : cellValues) { %> <%= cellValue %> <% } %> <% } %>
…
<% tableRow("one", "unu", "un"); tableRow("two", "du", "deux"); tableRow("three", "tri", "trois"); %>
PS上面的方法规模太小,无法节省太多,占用大块并创建像createResultsTable
这样的方法更有效。
JSP被编译成servlet代码,然后编译成实际的java .class文件。 JSP代码将被放入一个大的doGet()方法中,如果您的JSP文件非常大,它将达到65535的方法大小限制。该限制来自JVM规范 (“code_length项的值必须小于比65536“)。
您应该将文件拆分为多个文件。 我不会将它拆分为此线程中提出的不同方法,因为它可以使代码逻辑在这种情况下更加复杂,但是对于麦克道尔提出的HTML部分执行jsp:include。
标准操作可用于在运行时包含内容 – 请参阅一些随机文档 。