浏览 6722 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-01-21
Tomcat5 配置文件: 无 错误提示信息: D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\x-access\org\apache\jsp\jsp\editField_jsp.java:7359: code too large for try statement try { ^ D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\x-access\org\apache\jsp\jsp\editField_jsp.java:7416: code too large for try statement } catch (Throwable _jspx_exception); { ^ D:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\x-access\org\apache\jsp\jsp\editField_jsp.java:7398: code too large for try statement try { ^ 你的分析: 大家好,我遇到一个很BT的问题,由于jsp文件太大而造成的。 我使用jstl的语法进行条件判断,符合某一条件就把某一个文件包含进来。本来在jsp里面根据某一条件包含某一个问题的做法是行不通的,但在jstl就行!这样做的好长就是分而治之,便于模块化等等--我们系统的好多地方都是使用这样种方式处理的。使用include的原理是把所有的被包含的jsp文件在主文件编译的时候全部包含进来,这样生成的xxx_jsp.java文件是比较大的。当生成的xxx_jsp.java文件大概超过1MB时就出现了上面所说的那个错误(code too large for try statement)。 这是我从代码里面考下来的一部分: <c:choose> <c:when test="${condition1}"> <%@ include file="xxFile1.jsp"%> </c:when> <c:when test="${condition2}"> <%@ include file="xxxFile2.jsp"%> </c:when> <!-- .....从这里省略了将近10个when的判断 --> </c:choose> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-01-21
这个问题是比较bt
不过能写出编译后大于1M。。。。 还是你更bt些啊 |
|
返回顶楼 | |
发表时间:2005-01-21
这应该是虚拟机的限制吧,编译出来的class文件体积有限制的,tag就这点不好,你没有办法解决的,改程序吧,去掉那些tag。
|
|
返回顶楼 | |
发表时间:2005-01-22
谢谢大家的指导。看来我必须改程序:把when 和include去掉,将其拆成好多个jsp文件,把条件判断放回controller层(或做一个Hash映射),controller根据不同的条件跳转到不同的jsp,而不是只跳转到一个jsp。--这不是我BT呀,当初只是为了省事,而且当初jsp文件也没那么多,when判断也没这么多,后来才一点一点的加进来的。
|
|
返回顶楼 | |
发表时间:2005-01-24
晕死了,第一见这么大的jsp
|
|
返回顶楼 | |
发表时间:2007-01-10
weblogic 9 解决了这个问题,发布在他上面就不会有任何问题了。我试过了。这个问题也困扰了我们项目组很久。
|
|
返回顶楼 | |
发表时间:2007-04-29
我也遇到了这样的问题。
http://marc.info/?l=struts-user&m=98512887614286&w=2 |
|
返回顶楼 | |