You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2001/10/05 20:48:04 UTC
cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet JspCServletContext.java
kinman 01/10/05 11:48:04
Modified: jasper/src/share/org/apache/jasper/compiler
TagLibraryInfoImpl.java
jasper/src/share/org/apache/jasper/servlet
JspCServletContext.java
Log:
PR: 3640
Submitted by: Peter Rossbach (pr@webapp.de)
Jspc now works when taglibs are in a .jar
Revision Changes Path
1.24 +10 -8 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java
Index: TagLibraryInfoImpl.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- TagLibraryInfoImpl.java 2001/07/10 23:50:24 1.23
+++ TagLibraryInfoImpl.java 2001/10/05 18:48:04 1.24
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.23 2001/07/10 23:50:24 horwat Exp $
- * $Revision: 1.23 $
- * $Date: 2001/07/10 23:50:24 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/TagLibraryInfoImpl.java,v 1.24 2001/10/05 18:48:04 kinman Exp $
+ * $Revision: 1.24 $
+ * $Date: 2001/10/05 18:48:04 $
*
* The Apache Software License, Version 1.1
*
@@ -224,8 +224,13 @@
ZipEntry jarEntry = null;
InputStream stream = null;
try {
- url = ctxt.getResource(location[0]);
- if (url == null) return;
+ String path = location[0] ;
+ if(ctxt.getClassLoader() != null &&
+ java.net.URLClassLoader.class.equals(ctxt.getClassLoader().getClass())
+ && path.startsWith("/"))
+ path = path.substring(1,path.length()) ;
+ url = ctxt.getResource(path);
+ if (url == null) return;
url = new URL("jar:" + url.toString() + "!/");
JarURLConnection conn =
(JarURLConnection) url.openConnection();
@@ -359,9 +364,6 @@
"description".equals(tname))
info = element.getBody();
else if ("variable".equals(tname)) {
- if (teiclass != null)
- throw new JasperException
- (Constants.getString("tld.error.variableNotAllowed"));
variableVector.addElement(createVariable(element));
} else if ("attribute".equals(tname))
attributeVector.addElement(createAttribute(element));
1.2 +3 -3 jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet/JspCServletContext.java
Index: JspCServletContext.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet/JspCServletContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JspCServletContext.java 2001/09/14 05:21:33 1.1
+++ JspCServletContext.java 2001/10/05 18:48:04 1.2
@@ -80,7 +80,7 @@
* Simple <code>ServletContext</code> implementation without
* HTTP-specific methods.
*
- * @author Peter Robbach (pr@webapp.de)
+ * @author Peter Rossbach (pr@webapp.de)
*/
public class JspCServletContext implements ServletContext {
@@ -320,9 +320,9 @@
for (int i = 0; i < theFiles.length; i++) {
File testFile = new File(basePath + File.separator + theFiles[i]);
if (testFile.isFile())
- thePaths.add("/" + theFiles[i]);
+ thePaths.add(path + theFiles[i]);
else if (testFile.isDirectory())
- thePaths.add("/" + theFiles[i] + "/");
+ thePaths.add(path + theFiles[i] + "/");
}
return (thePaths);