kinman 01/10/05 11:49:53 Modified: jasper/src/share/org/apache/jasper/compiler Tag: tomcat_40_branch TagLibraryInfoImpl.java jasper/src/share/org/apache/jasper/servlet Tag: tomcat_40_branch JspCServletContext.java Log: PR: 3640 Submitted by: Peter Rossbach ([EMAIL PROTECTED]) Jspc now works when taglibs are in a .jar Revision Changes Path No revision No revision 1.23.2.1 +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.23.2.1 diff -u -r1.23 -r1.23.2.1 --- TagLibraryInfoImpl.java 2001/07/10 23:50:24 1.23 +++ TagLibraryInfoImpl.java 2001/10/05 18:49:53 1.23.2.1 @@ -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.23.2.1 2001/10/05 18:49:53 kinman Exp $ + * $Revision: 1.23.2.1 $ + * $Date: 2001/10/05 18:49:53 $ * * 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)); No revision No revision 1.1.2.1 +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.1.2.1 diff -u -r1.1 -r1.1.2.1 --- JspCServletContext.java 2001/09/14 05:21:33 1.1 +++ JspCServletContext.java 2001/10/05 18:49:53 1.1.2.1 @@ -80,7 +80,7 @@ * Simple <code>ServletContext</code> implementation without * HTTP-specific methods. * - * @author Peter Robbach ([EMAIL PROTECTED]) + * @author Peter Rossbach ([EMAIL PROTECTED]) */ 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);