代码对于 try 块来说太大了

Posted

技术标签:

【中文标题】代码对于 try 块来说太大了【英文标题】:code too large for try block 【发布时间】:2011-10-17 18:16:45 【问题描述】:

Eclipse 可以很好地编译和运行这个 jsp,但是当我部署到 Sun One 6.1 时,我得到“代码太大,无法尝试 ”

我正在尝试在执行汇总摘要时遍历 bean 列表。关于如何重构它以使其在我们过时的服务器上工作的任何建议?

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

        <table border="0"  cellspacing="0" cellpadding="0" class="tableBlackBorder">
            <tr>
              <td>
              <table  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>

编辑: 尝试使用 forTokes :

<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>

还是太大了。还有其他精简的想法吗?

编辑: 所以基本上我的解决方法是删除很多聚合细节。我已经提出了获取 Glassfish 或 JBoss 的 IT 请求。我已经阅读了有关 JSF 的文章,它看起来很棒!

【问题讨论】:

【参考方案1】:

Java 中方法的大小限制为 65535 个字符。您需要重构该代码。这个网站在这里有一个solution。来自Java Spec:

字段和方法名称、字段和方法描述符的长度, 和其他常量字符串值被限制为 65535 个字符 CONSTANT_Utf8_info 结构的 16 位无符号长度项 (§4.4.7)。请注意,限制是在 编码而不是编码字符的数量。 UTF-8 编码 一些字符使用两个或三个字节。因此,字符串包含 多字节字符被进一步限制。

显然,这在动态生成的 JSP 中很常见。

而且,由于您可能会在工作中被阻止 - 以下是该网站推荐的解决方案:

帮助您的容器模块化代码。尝试将 JSP 拆分为 几个块并使动态包含而不是静态包含。 动态包含(jsp:include 对 %@include)将编译 JSP 然后流输出而不是尝试包含所有代码 进入一个大方法或尝试 catch 块。

【讨论】:

我知道 64 KB 的限制。我的公司正在屏​​蔽该网站,所以我必须在家查看。 我已经成功地在其他 JSP 中使用了 来解决这个问题,但是这个问题没有运气。尝试包括 forEach 的每个部分; status=first, middle, status=last.. 但每个部分之间的范围数据丢失了。 @jeff:是的,这就是问题所在。你将不得不找到一种方法来压缩它。不幸的是,这是一个 Java 限制。 我使用 #FF0000 之类的东西将负数格式化为红色,这可能会使代码膨胀。这是标准方式吗?只是在寻找任何东西来减少这个 forEach。 无法升级服务器、过时的 JSP、NOWRAP!、滥用数据表中的颜色、阻止指向 Java 规范的链接的 Internet 过滤器……是时候找到新工作了,杰夫。 ;)

以上是关于代码对于 try 块来说太大了的主要内容,如果未能解决你的问题,请参考以下文章

十六进制数对于长long int来说太大了?

为啥我的图像对于 iPhone 来说太大了

查找最大素数时,“整数常数对于‘长’类型来说太大了”

文件对于 Eclipse 来说太大了

单元格宽度对于 tableview 宽度来说太大了

Qt 对于我的带宽上限来说太大了。我的替代方案是啥? [关闭]