6

Eclipse compiles and runs this jsp just fine but when I deploy to Sun One 6.1 I get "Code too large for try { "

I'm trying to loop over a list of beans while performing aggregate summaries. Any suggestions on how to refactor this to get it to work on our outdated server? screenshot

        <c:set var="ahJan" value="20" scope="request" />
        <c:set var="ahTot" value="246" scope="request" />

        <table border="0" width="95%" cellspacing="0" cellpadding="0" class="tableBlackBorder">
            <tr>
              <td>
              <table width="100%" border="0" cellpadding="1" class="tableInternalBorder" id="sortable">
                    <tr>
                       <td class="tl">Source</td>
                       <td class="tl">Program</td>
                       <td class="tl">Project</td>
                       <td class="tl">Contract</td>
                       <td class="tl">Line Code</td>
                       <td class="tl">Jan</td>
                       <td class="tl">Total</td>
                    </tr>

                          <c:set var="prevProgram" value="" scope="request" />
                          <c:set var="prevProject" value="" scope="request" />
                          <c:set var="prevContract" value="" scope="request" />
                          <c:set var="prevLinecode" value="" scope="request" />
                          <c:set var="prevBusArea" value="" scope="request" />
                          <c:set var="ctc_totSub" value="" scope="request" />
                          <c:set var="plan_totSub" value="" scope="request" />

              <c:forEach var="gap" items="${list}" varStatus="status">

                 <c:if test="${status.first}">
                    <tr>
                       <td class="o" NOWRAP>Plan</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.pjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.plineSum}" /></td>
                    </tr>  
                    <tr>
                       <td class="o" NOWRAP>CTC</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><a href="CTC.jsp?filter=byDept&dept=<c:out value="${dept}" />&lineCode=<c:out value="${gap.linecode}" />&year=<c:out value="${year}" />"><c:out value="${gap.linecode}" /></a></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctcjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctclineSum}" /></td>
                    </tr>  
                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>
                          <c:set var="deltaJan" value="${gap.pjan-gap.ctcjan}" />
                          <c:set var="deltaSubTotal" value="${gap.plineSum-gap.ctclineSum}" />

                          <c:set var="programDeltaJan" value="${deltaJan}" />
                          <c:set var="programDeltaSubTotal" value="${deltaSubTotal}" />

                          <c:set var="planProgramSubTot" value="${gap.plineSum}" />
                          <c:set var="ctcProgramSubTot" value="${gap.ctclineSum}" />
                    <tr>
                       <td class="o" NOWRAP>Delta Hrs</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaJan}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaSubTotal}" /></td>
                    </tr>  
                    <tr>
                       <td class="o" NOWRAP>Delta Heads</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan/(ahJan*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaJan/(ahJan*8)}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal/(ahTot*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaSubTotal/(ahTot*8)}" /></td>
                    </tr>  
                 </c:if>

                 <c:if test="${gap.program_name == prevProgram}" >
                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>

                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>

                     <tr>
                       <td class="o" NOWRAP>Plan</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.pjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.plineSum}" /></td>
                    </tr>  
                    <tr>
                       <td class="o" NOWRAP>CTC</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><a href="CTC.jsp?filter=byDept&dept=<c:out value="${dept}" />&lineCode=<c:out value="${gap.linecode}" />&year=<c:out value="${year}" />"><c:out value="${gap.linecode}" /></a></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctcjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctclineSum}" /></td>
                    </tr>  
                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>
                          <c:set var="deltaJan" value="${gap.pjan-gap.ctcjan}" />
                          <c:set var="deltaSubTotal" value="${gap.plineSum-gap.ctclineSum}" />


                          <c:set var="programDeltaJan" value="${programDeltaJan+deltaJan}" />
                          <c:set var="programDeltaSubTotal" value="${programDeltaSubTotal+deltaSubTotal}" />

                          <c:set var="planProgramSubTot" value="${planProgramSubTot+gap.plineSum}" />
                          <c:set var="ctcProgramSubTot" value="${ctcProgramSubTot+gap.ctclineSum}" />
                    <tr>
                       <td class="o" NOWRAP>Delta Hours</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaJan}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaSubTotal}" /></td>
                    </tr>  
                    <tr>
                       <td class="o" NOWRAP>Delta Heads</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan/(ahJan*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaJan/(ahJan*8)}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal/(ahTot*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaSubTotal/(ahTot*8)}" /></td>
                    </tr>  


                 </c:if>


                 <c:if test="${gap.program_name != prevProgram && !status.first}" >
                    <tr>
                       <td class="CTCProgramSummary" colspan="5">Gap Summary for Program: <c:out value="${prevProgram}" /></td>
                       <td class="CTCProgramSummary" style="background-color: <c:if test='${0>programDeltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${programDeltaJan}" /></td>
                       <td class="CTCProgramSummary" style="background-color: <c:if test='${0>programDeltaDec}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${programDeltaDec}" /></td>

                       <c:set var="delta" value="${planProgramSubTot-ctcProgramSubTot}" />
                       <td class="CTCProgramSummary" style="background-color: <c:if test='${0>delta}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${delta}" /></td>

                          <c:set var="BusAreaDeltaJan" value="${BusAreaDeltaJan+programDeltaJan}" />
                          <c:set var="BusAreaDeltaSubTotal" value="${BusAreaDeltaSubTotal+programDeltaSubTotal}" />
                          <c:set var="planBusAreaSubTot" value="${planBusAreaSubTot+planProgramSubTot}" />
                          <c:set var="ctcBusAreaSubTot" value="${ctcBusAreaSubTot+ctcProgramSubTot}" />

                          <c:set var="programDeltaJan" value="" />
                          <c:set var="programDeltaSubTotal" value="" />

                          <c:set var="planProgramSubTot" value="" />
                          <c:set var="ctcProgramSubTot" value="" />
                    </tr>

                 <c:if test="${gap.business_area == prevBusArea}" >
                     <tr>
                       <td class="o" NOWRAP>Plan</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.pjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.plineSum}" /></td>
                    </tr>  
                    <tr>
                       <td class="o" NOWRAP>CTC</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><a href="CTC.jsp?filter=byDept&dept=<c:out value="${dept}" />&lineCode=<c:out value="${gap.linecode}" />&year=<c:out value="${year}" />"><c:out value="${gap.linecode}" /></a></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctcjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctclineSum}" /></td>
                    </tr>  
                     <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>
                          <c:set var="deltaJan" value="${gap.pjan-gap.ctcjan}" />
                          <c:set var="deltaSubTotal" value="${gap.plineSum-gap.ctclineSum}" />


                          <c:set var="programDeltaJan" value="${programDeltaJan+deltaJan}" />
                          <c:set var="programDeltaSubTotal" value="${programDeltaSubTotal+deltaSubTotal}" />


                          <c:set var="planProgramSubTot" value="${planProgramSubTot+gap.plineSum}" />
                          <c:set var="ctcProgramSubTot" value="${ctcProgramSubTot+gap.ctclineSum}" />
                    <tr>
                       <td class="o" NOWRAP>Delta Hours</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaJan}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaSubTotal}" /></td>
                    </tr>  
              <tr>
                       <td class="o" NOWRAP>Delta Heads</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan/(ahJan*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaJan/(ahJan*8)}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal/(ahTot*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaSubTotal/(ahTot*8)}" /></td>
                    </tr>  

                    </c:if>

                 <c:if test="${gap.business_area != prevBusArea && !status.first}" >

                    <tr>
                       <td class="CTCBusAreaSummary" colspan="5">Gap Summary for Business Area: <c:out value="${prevBusArea}" /></td>
                       <td class="CTCBusAreaSummary" style="background-color: <c:if test='${0>BusAreaDeltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${BusAreaDeltaJan}" /></td>
                       <c:set var="delta" value="${planBusAreaSubTot-ctcBusAreaSubTot}" />
                       <td class="CTCBusAreaSummary" style="background-color: <c:if test='${0>delta}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${delta}" /></td>


                          <c:set var="totalDeltaJan" value="${totalDeltaJan+BusAreaDeltaJan}" />
                          <c:set var="totalDeltaSubTotal" value="${totalDeltaSubTotal+BusAreaDeltaSubTotal}" />


                          <c:set var="planTotal" value="${planTotal + planBusAreaSubTot}" />
                          <c:set var="ctcTotal" value="${ctcTotal + ctcBusAreaSubTot}" />

                          <c:set var="BusAreaDeltaJan" value="" />
                          <c:set var="BusAreaDeltaSubTotal" value="" />

                          <c:set var="planBusAreaSubTot" value="" />
                          <c:set var="ctcBusAreaSubTot" value="" />
                    </tr>


                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>

                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>

                     <tr>
                       <td class="o" NOWRAP>Plan</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.pjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.plineSum}" /></td>
                    </tr>  
                    <tr>
                       <td class="o" NOWRAP>CTC</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><a href="CTC.jsp?filter=byDept&dept=<c:out value="${dept}" />&lineCode=<c:out value="${gap.linecode}" />&year=<c:out value="${year}" />"><c:out value="${gap.linecode}" /></a></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctcjan}" /></td>
                       <td class="oRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap.ctclineSum}" /></td>
                    </tr>  
                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>
                          <c:set var="deltaJan" value="${gap.pjan-gap.ctcjan}" />
                          <c:set var="deltaSubTotal" value="${gap.plineSum-gap.ctclineSum}" />
                          <c:set var="planProgramSubTot" value="${planProgramSubTot+gap.plineSum}" />
                          <c:set var="ctcProgramSubTot" value="${ctcProgramSubTot+gap.ctclineSum}" />
                    <tr>
                       <td class="o" NOWRAP>Delta Hours</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaJan}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${deltaSubTotal}" /></td>
                    </tr>  
              <tr>
                       <td class="o" NOWRAP>Delta Heads</td>
                       <td class="o" NOWRAP><c:out value="${gap.program_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.project_name}" /></td>
                       <td class="o" NOWRAP><c:out value="${gap.contract}" /></td>
                       <td class="oLeft"><c:out value="${gap.linecode}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaJan/(ahJan*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaJan/(ahJan*8)}" /></td>
                       <td class="oRight" style="background-color: <c:if test='${0>deltaSubTotal/(ahTot*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${deltaSubTotal/(ahTot*8)}" /></td>
                    </tr>  

                          <c:set var="programDeltaJan" value="${programDeltaJan+deltaJan}" />
                          <c:set var="programDeltaSubTotal" value="${programDeltaSubTotal+deltaSubTotal}" />

                 </c:if>
                 </c:if>


                 <c:set var="prevLinecode" value="${gap.linecode}" />
                 <c:set var="prevContract" value="${gap.contract}" /> 
                 <c:set var="prevProgram" value="${gap.program_name}" /> 
                 <c:set var="prevProject" value="${gap.project_name}" /> 
                 <c:set var="prevBusArea" value="${gap.business_area}" /> 


                 <c:if test="${status.last}" >
                    <tr>
                       <td class="CTCProgramSummary" colspan="5">Gap Summary for Program: <c:out value="${prevProgram}" /></td>
                       <td class="CTCProgramSummary" style="background-color: <c:if test='${0>programDeltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${programDeltaJan}" /></td>
                       <td class="CTCProgramSummary" style="background-color: <c:if test='${0>programDeltaDec}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${programDeltaDec}" /></td>
                       <c:set var="delta" value="${planProgramSubTot-ctcProgramSubTot}" />
                       <td class="CTCProgramSummary" style="background-color: <c:if test='${0>delta}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${delta}" /></td>

                          <c:set var="BusAreaDeltaJan" value="${BusAreaDeltaJan+programDeltaJan}" />
                          <c:set var="planBusAreaSubTot" value="${planBusAreaSubTot+planProgramSubTot}" />
                          <c:set var="ctcBusAreaSubTot" value="${ctcBusAreaSubTot+ctcProgramSubTot}" />
                          <c:set var="planProgramSubTot" value="" />
                          <c:set var="ctcProgramSubTot" value="" />
                    </tr>

                    <tr>
                       <td class="CTCBusAreaSummary" colspan="5">Gap Summary for Business Area: <c:out value="${prevBusArea}" /></td>
                       <td class="CTCBusAreaSummary" style="background-color: <c:if test='${0>BusAreaDeltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${BusAreaDeltaJan}" /></td>
                       <c:set var="delta" value="${planBusAreaSubTot-ctcBusAreaSubTot}" />
                       <td class="CTCBusAreaSummary" style="background-color: <c:if test='${0>delta}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${delta}" /></td>


                          <c:set var="totalDeltaJan" value="${totalDeltaJan+BusAreaDeltaJan}" />
                          <c:set var="planTotal" value="${planTotal + planBusAreaSubTot}" />
                          <c:set var="ctcTotal" value="${ctcTotal + ctcBusAreaSubTot}" />
                    </tr>


                    <tr>
                       <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>

                    <tr>
                        <td colspan="18" class="TableRowBGSubNav"></td>
                    </tr>
                 </c:if>
              </c:forEach>

                    <tr>
                        <td colspan="5" class="CTCTotalSummary">TOTAL Gap Summary Hours:</td>
                       <td class="CTCTotalSummary" style="background-color: <c:if test='${0>totalDeltaJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${totalDeltaJan}" /></td>
                       <c:set var="delta" value="${planTotal-ctcTotal}" />
                        <td class="CTCTotalSummary" style="background-color: <c:if test='${0>delta}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${delta}" /></td>
                    </tr>
                    <tr>
                        <td colspan="5" class="CTCTotalSummary">TOTAL Gap Summary Heads:</td>
                       <td class="CTCTotalSummary" style="background-color: <c:if test='${0>totalDeltaJan/(ahJan*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${totalDeltaJan/(ahJan*8)}" /></td>
                       <c:set var="delta" value="${planTotal-ctcTotal}" />
                        <td class="CTCTotalSummary" style="background-color: <c:if test='${0>delta/(ahTot*8)}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${delta/(ahTot*8)}" /></td>
                    </tr>
                    <tr>
                        <td colspan="5" class="CTCTotalSummary">Accounting Hour Summary </td>
                       <td class="CTCTotalSummary" style="background-color: <c:if test='${0>ahJan}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${ahJan}" /></td>
                       <c:set var="delta" value="${planTotal-ctcTotal}" />
                        <td class="CTCTotalSummary" style="background-color: <c:if test='${ahTot}'>#FF0000</c:if>" ><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="1" value="${ahTot}" /></td>
                    </tr>

              </table>
              </td>
            </tr>
          </table>

EDIT: Tried using forTokes as such:

<c:forTokens
    items="ctcjan, ctcfeb, ctcmar, ctcapr, ctcmay, ctcjun, ctcjul, ctcaug, ctcsep, ctcoct, ctcnov, ctcdec, ctclineSum"
    delims=", " var="curField">
      <td class="TableOutputTextRight"><fmt:formatNumber type="number" minIntegerDigits="1" maxFractionDigits="0" value="${gap[curField]}" /></td>
</c:forTokens>

Still Too Large. Any other trimming-down ideas?

EDIT: So basically my fix was to remove a lot of the aggregate details. I've put in an IT request to get Glassfish or JBoss. I've been read about JSF and it looks awesome!

jeff
  • 3,618
  • 9
  • 48
  • 101

1 Answers1

11

The size limit in Java for a method is 65535 characters. You need to refactor that code. This website here has a solution. From the Java Spec:

The length of field and method names, field and method descriptors, and other constant string values is limited to 65535 characters by the 16-bit unsigned length item of the CONSTANT_Utf8_info structure (§4.4.7). Note that the limit is on the number of bytes in the encoding and not on the number of encoded characters. UTF-8 encodes some characters using two or three bytes. Thus, strings incorporating multibyte characters are further constrained.

Apparently, this is common with dynamically generated JSP.

And, since you may be blocked at work - here is the recommended solution from that site:

Help your container modularize the code. Try splitting the JSP into several chunks and make dynamic includes instead of static ones. Dynamic includes (jsp:include against %@include) will compile the JSP and then stream the output instead of trying to include all the code into one big method or try catch block.

  • I am aware of the 64 KB limit. My company is blocking that site so I'll have to view it at home. – jeff Aug 01 '11 at 20:38
  • I have successfully used the in other JSPs with this issue, but no luck with this one. Tried including each section of the forEach; status=first, middle, status=last.. but scoped data was lost between each sections include. – jeff Aug 01 '11 at 20:54
  • @jeff: Yea, that's the problem. You are going to have to find a way to compress it. It's a Java limitation unfortunately. –  Aug 01 '11 at 20:58
  • I use things like #FF0000 to format a negative number red, which may bloat the code. Is this a standard way? Just looking for anything to trim down this forEach. – jeff Aug 01 '11 at 20:59
  • @jeff: Yes, those are standard JSTL tags. –  Aug 01 '11 at 21:02
  • The 64kb limit is really because of our outdated server and how it translates the jsp. Eclipse and Tomcat on my PC does not do this. Getting IT to upgrade intranet web servers is next to impossible! – jeff Aug 01 '11 at 21:02
  • 3
    Impossible to upgrade a server, outdated JSP, NOWRAP!, abuse of colors in the data table, internet filters that block links to the java spec... time to find a new job, jeff. ;) – Karmic Coder Aug 01 '11 at 22:39
  • :) funny! NOWRAP and the color abuse and is all me - I am color blind (really)!! We are a shipyard and build boats not websites. Too late and wrong degree for new job! – jeff Aug 02 '11 at 13:18