You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Jacob Shukert <Ja...@WCom.com> on 2001/04/05 15:31:25 UTC

duplicate usebean

Hi,

I'm trying to move an application to Tomcat from another application server
and one of my JSP pages won't compile.  I get the following error (I
replaced the site specific information with ...):

#########################
Error: 500
Location: /.../...jsp
Internal Servlet Error:

org.apache.jasper.compiler.CompileException: E:\...\...\...jsp(44,9)
useBean: Duplicate bean name: X
	at
org.apache.jasper.compiler.BeanGenerator.checkSyntax(BeanGenerator.java:125)
	at org.apache.jasper.compiler.BeanGenerator.generate(BeanGenerator.java:95)
	at
org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.generate(J
spParseEventListener.java, Compiled Code)
	at
org.apache.jasper.compiler.JspParseEventListener.generateAll(JspParseEventLi
stener.java, Compiled Code)
	at
org.apache.jasper.compiler.JspParseEventListener.generateHeader(JspParseEven
tListener.java, Compiled Code)
	at
org.apache.jasper.compiler.JspParseEventListener.endPageProcessing(JspParseE
ventListener.java:173)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java, Compiled
Code)
	at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
	at
org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
	at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspSe
rvlet.java:152)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:164)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java, Compiled
Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
	at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
	at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
	at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
	at java.lang.Thread.run(Thread.java, Compiled Code)
#########################

The code looks something like this:

<%
if (...Java code...) {
  while (...Java code...) {
...Java code...
%>
<jsp:useBean id="X".../>
<%
...Java code...
}
...Java code...
}
%>

<%
if (...Java code...) {
  while (...Java code...) {
...Java code...
%>
<jsp:useBean id="X".../>
<%
...Java code...
}
...Java code...
}
%>


This compiles and works in the other application server that I'm using, but
Jasper tells me that the Bean is incorrectly being duplicated.  I think that
this should be ok because the variable declarations in the Java source file
that will be produced will be in different blocks.  However, from what I can
tell, Jasper might be checking the useBean tags first and giving an error
before creating the Java source file.  Again, it does work in the other
application server.  If anyone has any insight into this, or if this is a
bug, I would appreciate any comments.

Thank you for any help.


Jacob Shukert
Jacob.Shukert@WCom.com
(703) 341-2751, VNET 235-2751
Source Systems Development
MCI WorldCom