Ok, you win :-)

I confirm that I get exactly the same screwy results, using
tomcat3.2.1 on HPUX (jvm 1.2.2)

It looks to me like there is a major bug in the way that tomcat
treats  <jsp:param> tags within <jsp:include>.

If no-one says otherwise in the next day or so, I suggest you
file this one as a bug in "bugrat".

I include Dave's problem jsp page inline for the
convenience of others..

Cheers,

Simon
---------------
<HTML>
<BODY bgcolor="#ffffff">

The following people matched your search criteria:
<P>
<%-- Invoke the Table servlet, tell it the name of the attribute
     where the data is stored (data=people), set the border size to 4
     on the <TABLE> tag, and describe each column to display.
     
     The "people" attribute was sent from the controller servlet
     and contains a vector of people objects. --%>

<jsp:include page="TableServlet" flush="true">
    <jsp:param name="data" value="people"/>

    <jsp:param name="tableOptions" value="BORDER=4"/>

    <jsp:param name="column" value="name"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="Name"/>

    <jsp:param name="column" value="age"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="Age"/>

    <jsp:param name="column" value="city"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="City"/>

    <jsp:param name="column" value="state"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="State"/>

    <jsp:param name="column" value="country"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="Country"/>

    <jsp:param name="column" value="postalCode"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="Postal Code"/>

    <jsp:param name="column" value="email"/>
    <jsp:param name="columnType" value="data"/>
    <jsp:param name="columnHeader" value="E-Mail"/>
</jsp:include>
</BODY>
</HTML>

> -----Original Message-----
> From: Moran, David (David) [SMTP:[EMAIL PROTECTED]]
> Sent: Wednesday, December 20, 2000 5:45 PM
> To:   '[EMAIL PROTECTED]'
> Subject:      RE: Compile Error in JSP generated servlet
> 
> 
> 
> -----Original Message-----
> From: Kitching Simon [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, December 20, 2000 10:50 AM
> To: '[EMAIL PROTECTED]'
> Subject: RE: Compile Error in JSP generated servlet
> 
> 
> David,
> 
> How about posting the original jsp source code?
> 
> The problem *is* probably somewhere in there,
> and even if it isn't, most people (like me) are
> unlikely to give too much attention to a possible
> problem in tomcat unless we can see for
> ourselves that there is nothing wrong with the
> original jsp...
> 
> Cheers,
> 
> Simon
> 
> > -----Original Message-----
> > From:       Moran, David (David) [SMTP:[EMAIL PROTECTED]]
> > Sent:       Wednesday, December 20, 2000 4:41 PM
> > To: '[EMAIL PROTECTED]'
> > Subject:    RE: Compile Error in JSP generated servlet
> > 
> > But I'm not doing it.  The JSP engine is doing it. 
> > 
> > -----Original Message-----
> > From: Morahg, Yoav [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, December 20, 2000 9:52 AM
> > To: '[EMAIL PROTECTED]'
> > Subject: RE: Compile Error in JSP generated servlet
> > 
> > 
> > You are declaring the String array twice in your code.
> > 
> > The first one is okay...
> > 
> > String [] _tmpS = new String[7];
> > 
> > but you can't do this again in your code. If you want to create a new
> > String
> > array for _tmpS after already declaring _tmpS you should do it without
> > declaring it...
> > 
> > _tmpS = new String[7];
> > 
> > Hope this helps.
> > 
> > -Y
> > 
> > ---------------------------
> > Yoav Morahg
> > Software Engineer
> > Gist Communications
> > (212) 965-1999 xt 110
> > [EMAIL PROTECTED]
> > 
> > Interactive Television Guides
> > 
> > 
> > -----Original Message-----
> > From: Moran, David (David) [mailto:[EMAIL PROTECTED]]
> > Sent: Tuesday, December 19, 2000 5:50 PM
> > To: [EMAIL PROTECTED]
> > Subject: Compile Error in JSP generated servlet
> > 
> > 
> > What would cause JSP to generate the same variable in the generated
> > servlet.
> > I am getting the following compile error in the JSP generated servlet in
> > tomcat 3.2 on Windows NT.  I am trying to get the book examples to run
> > from
> > "SE Using Java Server Pages and Servlets"
> > 
> > Error: 500
> > 
> > Location: /examples/examples/ShowPeople.jsp
> > 
> > Internal Servlet Error:
> > 
> > org.apache.jasper.JasperException: Unable to compile class for
> >
> JSPD:\java\servlet\jakarta-tomcat-3.2\work\localhost_8080%2Fexamples\_0002
> > fe
> > xamples_0002fShowPeople_0002ejspShowPeople_jsp_0.java:75: Variable
> '_tmpS'
> > is already defined in this method.
> >                     String [] _tmpS = new String[7];
> >                               ^
> >
> D:\java\servlet\jakarta-tomcat-3.2\work\localhost_8080%2Fexamples\_0002fex
> > am
> > ples_0002fShowPeople_0002ejspShowPeople_jsp_0.java:83: Variable '_tmpS'
> is
> > already defined in this method.
> >                     String [] _tmpS = new String[7];
> >                               ^
> > 
> > 
> > This is the offending code from the servlet
> > 
> > // begin
> >
> [file="D:\\java\\servlet\\jakarta-tomcat-3.2\\webapps\\examples\\examples\
> > \S
> > howPeople.jsp";from=(14,0);to=(46,14)]
> >                 {
> >                     String _jspx_qStr = "";
> >                     _jspx_qStr = _jspx_qStr + "?tableOptions=" +
> > "BORDER=4";
> >                     String [] _tmpS = new String[7];
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     _jspx_qStr = _jspx_qStr + "&columnType=" + "data";
> >                     String [] _tmpS = new String[7];
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "name";
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "age";
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "city";
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "state";
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "country";
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "postalCode";
> >                     _jspx_qStr = _jspx_qStr + "&column=" + "email";
> >                     String [] _tmpS = new String[7];
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" + "Name";
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" + "Age";
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" + "City";
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" +
> "State";
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" +
> > "Country";
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" + "Postal
> > Code";
> >                     _jspx_qStr = _jspx_qStr + "&columnHeader=" +
> "E-Mail";
> >                     _jspx_qStr = _jspx_qStr + "&data=" + "people";
> >                     pageContext.include("TableServlet" + _jspx_qStr);
> >                 }
>  << File: ShowPeople.jsp >> 

Reply via email to