“The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit” 的我之解決辦法

昨天,我遇到了一個讓我很頭疼的問題。 我做了一個共通的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”就好了)

 

希望有解決不了問題的人可以看到 呵呵

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值