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=22503>.
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=22503

Tomcat4.0.6 can't parse a XML format JSP file encoding

           Summary: Tomcat4.0.6 can't parse a XML format JSP file encoding
           Product: Tomcat 4
           Version: 4.0.6 Final
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Jasper
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Tomcat5 is able to parse a XML format JSP file encoding, but Tomcat4 isn't.
I thought org.xml.sax.InputSource didn't instantiate with java.io.InputStream.
So, I read Jasper source and made two patches as follows.

jakarta-tomcat-4.0.6-src/jasper/src/share/org/apache/jasper/compiler/ParserController.java
jakarta-tomcat-4.0.6-src/jasper/src/share/org/apache/jasper/compiler/ParserXJspSax.java

--- original/ParserController.java      Sun Aug 17 17:15:53 2003
+++ ParserController.java       Sun Aug 17 17:17:37 2003
@@ -209,7 +209,7 @@
             reader = getReader(absFileName, encoding);
             jspHandler.setDefault(isXml);
             if (isXml) {
-                (new ParserXJspSax(absFileName, reader, jspHandler)).parse();
+                (new ParserXJspSax(absFileName, getStream(absFileName), jspHand
ler)).parse();
             } else {
                 (new Parser(ctxt, absFileName, encoding, reader, jspHandler)).p
arse();
             }
@@ -443,6 +443,16 @@
        }
     }
 
+    private InputStream getStream(String file)
+       throws FileNotFoundException
+    {
+        InputStream in;
+       in = ctxt.getResourceAsStream(file);
+       if (in == null) {
+           throw new FileNotFoundException(file);
+       }
+       return in;
+    }
     /* NOT COMPILED
     private String getFileContent(String fileName) {
         InputStream inStream;


#################################################################################
--- original/ParserXJspSax.java Sun Aug 17 17:16:01 2003
+++ ParserXJspSax.java  Sun Aug 17 17:17:14 2003
@@ -136,6 +136,15 @@
        this.jspHandler = jspHandler;
     }
     
+    public ParserXJspSax(String filePath,
+                        InputStream stream, 
+                        ParseEventListener jspHandler)
+    {
+       this.filePath = filePath;
+       this.is = new InputSource(stream);
+       this.jspHandler = jspHandler;
+    }
+
     //*********************************************************************
     // Parse

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to