You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by BugRat Mail System <to...@cortexity.com> on 2000/09/27 23:04:12 UTC

BugRat Report #173 has been filed.

Bug report #173 has just been filed.

You can view the report at the following URL:

   <http://znutar.cortexity.com:8888/BugRatViewer/ShowReport/173>

REPORT #173 Details.

Project: Tomcat
Category: Bug Report
SubCategory: New Bug Report
Class: swbug
State: received
Priority: high
Severity: critical
Confidence: public
Environment: 
   Release: 3.1 Release
   JVM Release: 1.2.2-006
   Operating System: WIndows 2000
   OS Release: SP1
   Platform: x86

Synopsis: 
<%@ include %> does not function properly, cycle detection incorrect?

Description:
<%@ include %>  
directive does not appear to be implemented correctly.

There is no inherent reason why a particular file cannot
be included more than once by a jsp page, except when
perhaps leading to a cyclical relationship.  
However, when I tried to do a simple include of
"footer.html" twice in the same JSP page, i.e.

<%@ include file="footer.html" %> 

I get a:
"Seen file \footer.html already, maybe this is a recursive include?!"
error.  This doesn't make much sense.

Further more, if I change "footer.html" to
"Footer.html", the compiler no longer complains.
I think this was an unintended implementation error.

I am using this case-sensitivity as a hack/workaround
for doing multiple includes now, but this really should
be fixed.

BTW, I tried out Tomcat 3.2 beta 4, and "include"
seems to be completely broken (can't ever find the file).

See below for exact error (no error message on console)
-------------------------------------------------

Error: 500
Location: /test/default.jsp
Internal Servlet Error:

org.apache.jasper.compiler.ParseException: Seen file \common\Theme\Khaki\footer.html already, maybe this is a recursive include?!
	at org.apache.jasper.compiler.JspReader.pushFile(JspReader.java, Compiled Code)
	at org.apache.jasper.compiler.JspReader.pushFile(JspReader.java, Compiled Code)
	at org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventListener.java, Compiled Code)
	at org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener.java, Compiled Code)
	at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java, Compiled Code)
	at org.apache.jasper.compiler.Parser.parse(Parser.java, Compiled Code)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1038)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1034)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java, Compiled Code)
	at org.apache.jasper.runtime.JspServlet.loadJSP(JspServlet.java:413)
	at org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:149)
	at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:161)
	at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)
	at org.apache.jasper.runtime.JspServlet.service(JspServlet.java, Compiled Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java, Compiled Code)
	at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
	at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java, Compiled Code)
	at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java, Compiled Code)
	at java.lang.Thread.run(Thread.java, Compiled Code)