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/12/22 17:37:35 UTC
BugRat Report #655 has been filed.
Bug report #655 has just been filed.
You can view the report at the following URL:
<http://znutar.cortexity.com/BugRatViewer/ShowReport/655>
REPORT #655 Details.
Project: Jasper
Category: Bug Report
SubCategory: New Bug Report
Class: swbug
State: received
Priority: medium
Severity: serious
Confidence: public
Environment:
Release: Tomcat-4.0-m5
JVM Release: 1.3
Operating System: NT
OS Release: 4.0
Platform: x86
Synopsis:
Compiler error concerning jsp:include tag
Description:
Possible error in IncludeGenerator.java, line 156:
writer.println("String [] _tmpS = new String[" + value.length +"];");
Writes same string to generated code possibly multiple times.
Problem is can't declare same variable more than once in a Java code block - compiler complains.
Also note this line appears to be useless since _tmpS is never used. (Possible leftover from previous version :)
Example code that produces error situation:
<jsp:include page="/servlet/usingjsp.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="getPhoneNumber"/>
<jsp:param name="columnType" value="data"/>
<jsp:param name="columnHeader" value="Phone #"/>
</jsp:include>
Produces following code from jsp compiler:
String _jspx_qStr = "";
String [] _tmpS = new String[3];
_jspx_qStr = _jspx_qStr + "?columnType=" + "data";
_jspx_qStr = _jspx_qStr + "&columnType=" + "data";
_jspx_qStr = _jspx_qStr + "&columnType=" + "data";
_jspx_qStr = _jspx_qStr + "&tableOptions=" + "BORDER=4";
_jspx_qStr = _jspx_qStr + "&data=" + "people";
String [] _tmpS = new String[3];
_jspx_qStr = _jspx_qStr + "&columnHeader=" + "Name";
_jspx_qStr = _jspx_qStr + "&columnHeader=" + "Age";
_jspx_qStr = _jspx_qStr + "&columnHeader=" + "Phone #";
String [] _tmpS = new String[3];
_jspx_qStr = _jspx_qStr + "&column=" + "name";
_jspx_qStr = _jspx_qStr + "&column=" + "age";
_jspx_qStr = _jspx_qStr + "&column=" + "getPhoneNumber";
pageContext.include("/servlet/usingjsp.TableServlet" + _jspx_qStr);
Note the 3 ocurrences of String [] _tmpS = new String[3]; in the above code.
Compiler Complaint:
Error: 500
Location: /examples/jspbook/Chap07/ShowTable.jsp
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for JSPC:\jakarta-tomcat-3.2.1\work\localhost_8080%2Fexamples\_0002fjspbook_0002fChap_00030_00037_0002fShowTable_0002ejspShowTable_jsp_0.java:115: Variable '_tmpS' is already defined in this method.
String [] _tmpS = new String[3];
^
C:\jakarta-tomcat-3.2.1\work\localhost_8080%2Fexamples\_0002fjspbook_0002fChap_00030_00037_0002fShowTable_0002ejspShowTable_jsp_0.java:119: Variable '_tmpS' is already defined in this method.
String [] _tmpS = new String[3];
^
2 errors