昨天,我遇到了一个让我很头疼的问题。 我做了一个共通的jsp,单只测它是ok的,可是,放在别的jsp中include它,就会报错如标题所示:The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit。调用它的jsp是这样写的:< %@include file="/模块名/nani_include.jsp" % > 。于是我将这个include语句换成了<jsp:include flush="true" page="/模块名/nani_include.jsp"/>。不再 报错了。因为 <%@ include file=" "%>标签 是在jsp容器里将jsp文件翻译成servlet文件,并编译它时,是静态包含被包含jsp的,也就是编译出来是一个类文件,而java类文件是不允许超过65k这么大的,所以会报错如标题所示。而<jsp:include flush="true" page=" "/>在翻译并编译后,产生的是两个类文件,也就是说 被调用的jsp生成独立的类文件,而调用它的jsp生成的类文件中,只包含一个调用jsp的方法。
可是问题又出现了。参数传不进去。
解决方法是:调用它的jsp用<jsp:param>传参。
<jsp:include flush="true" page="/模块名/nani_include.jsp">
<jsp:param name="ss" value="_programForm"/>
</jsp:include>
被调用的jsp中,用el表达式接这个参数就好了:
${ss}
(不管里面用什么标签,name设成“ss”就好了)
希望有解决不了问题的人可以看到 呵呵
本文转载至(谢谢原作者的奉献):http://cache.baidu.com/c?m=9d78d513d9851bf84fede52f504080711925dd372bd7a14a2892c915c5735b30506197ac2652484591842b2745f4180bfdf04728714562f6cc88cc148afdd27f6ccf7075360b863048955fed8a1165857ec71ca9f858a5e7ac73c4b9d2a2841544ca22526ec7b0d5555a528c2de71542febbc313025f67eabe6b33b84e775ece7e1fab1da5a16d3f4fc4eb8d021196378b2746c8b230e43819bf13ae181a7243f146b208022235e24423a84e3e13929c07a17527&p=8c36c80486cc42a959add72d0215d137&user=baidu&fm=sc&query=The+code+of+method+%5FjspService%28HttpServletRequest%2C+HttpServletResponse%29+is+exceeding+the+65535+bytes&qid=c8f046590ee45064&p1=1
转载于:https://blog.51cto.com/4363738/867220