DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9958>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9958 JSTL page compile fails with many JSTL core tags Summary: JSTL page compile fails with many JSTL core tags Product: Tomcat 4 Version: 4.0.4 Final Platform: Sun OS/Version: All Status: NEW Severity: Major Priority: Other Component: Jasper AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Setting: - a JSTL page using only jstl-c (el version), <c:out>. - JSTL version is the 1.0 (copied from jwsdp-1.0). - SunOS host 5.8 Generic_108528-13 sun4u sparc SUNW,UltraSPARC-IIi-cEngine - java version "1.4.0" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92) Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode) - JAVA_OPTS=-mx256m - W2k/tomcat-4.0.3/sun java 1.4.0 has the same problem -> probably cross-platform - Sample page below below Problem: Adding one more <c:out>-tag causes the exception below. By removing a <c:out> from the crashing jsp -> the jsp compiles correctly. There is the same problem with tomcat 4.0.3, but the needed amount of JSTL tags is somewhat lower The problem seems to be gone in 4.1.5, but it has other issues (alongside not being 'release'). The line of code referenced by the exception is generated from the line of jsp with the second-last <c:out> tag (if the comment lines are to be trusted in the generated .java). Below is also the part from the generated .java, and I can't see the problem. The file also compiles manually like it should (javac -classpath world:and:dog a$jsp.java). the exception: ---8<--- org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated. An error occurred at line: 56 in the jsp file: /a.jsp Generated servlet error: /mnt/project/jakarta-tomcat-4.0.4/work/Standalone/localhost/jesse/a$jsp.java:1813: Variable _jspx_th_c_out_51 may not have been initialized. } while (_jspx_th_c_out_51.doAfterBody() == javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN); ^ An error occurred at line: 56 in the jsp file: /a.jsp Generated servlet error: /mnt/project/jakarta-tomcat-4.0.4/work/Standalone/localhost/jesse/a$jsp.java:1819: Variable _jspx_th_c_out_51 may not have been initialized. if (_jspx_th_c_out_51.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) ^ 2 errors, 1 warning at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285) at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) -snip- ---8<--- part of the generated code: ---8<--- int _jspx_eval_c_out_51 = _jspx_th_c_out_51.doStartTag(); if (_jspx_eval_c_out_51 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) { try { if (_jspx_eval_c_out_51 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) { out = pageContext.pushBody(); _jspx_th_c_out_51.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out); _jspx_th_c_out_51.doInitBody(); } do { // end // begin [file="/a.jsp";from=(55,0);to=(55,21)] } while (_jspx_th_c_out_51.doAfterBody() == javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGA IN); } finally { if (_jspx_eval_c_out_51 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) out = pageContext.popBody(); } ---8<--- sample page: ---8<--- <html> <%@ taglib uri="/jstl-c" prefix="c" %> <head><title> a </title></head> <body> <c:out value="TEST"/><br> ...repeat the line above for 51 more times... </body> </html> ---8<--- sample web.xml: ---8<--- <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <taglib> <taglib-uri>/jstl-c</taglib-uri> <taglib-location>/WEB-INF/jstl/c.tld</taglib-location> </taglib> </web-app> ---8<--- -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>