org.apache.jasper.compiler
Class TldLocationsCache
java.lang.Object
   org.apache.jasper.compiler.TldLocationsCache
org.apache.jasper.compiler.TldLocationsCache
- public class TldLocationsCache 
- extends java.lang.Object
A container for all tag libraries that are defined "globally"
 for the web application.
 Tag Libraries can be defined globally in one of two ways:
   1. Via  elements in web.xml:
      the uri and location of the tag-library are specified in
      the  element.
   2. Via packaged jar files that contain .tld files
      within the META-INF directory, or some subdirectory
      of it. The taglib is 'global' if it has the 
      element defined.
 A mapping between the taglib URI and its associated TaglibraryInfoImpl
 is maintained in this container.
 Actually, that's what we'd like to do. However, because of the
 way the classes TagLibraryInfo and TagInfo have been defined,
 it is not currently possible to share an instance of TagLibraryInfo
 across page invocations. A bug has been submitted to the spec lead.
 In the mean time, all we do is save the 'location' where the
 TLD associated with a taglib URI can be found.
 When a JSP page has a taglib directive, the mappings in this container
 are first searched (see method getLocation()).
 If a mapping is found, then the location of the TLD is returned.
 If no mapping is found, then the uri specified
 in the taglib directive is to be interpreted as the location for
 the TLD of this tag library.
- Author:
- Pierre Delisle, Jan Luehe
 
 
| Method Summary | 
|  java.lang.String[] | getLocation(java.lang.String uri)Gets the 'location' of the TLD associated with the given taglib 'uri'.
 | 
| static void | setNoTldJars(java.lang.String jarNames)Sets the list of JARs that are known not to contain any TLDs.
 | 
| static int | uriType(java.lang.String uri)Returns the type of a URI:
     ABS_URI
     ROOT_REL_URI
     NOROOT_REL_URI
 | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
ABS_URI
public static final int ABS_URI
- The types of URI one may specify for a tag library
 
- See Also:
- Constant Field Values
 
ROOT_REL_URI
public static final int ROOT_REL_URI
- See Also:
- Constant Field Values
NOROOT_REL_URI
public static final int NOROOT_REL_URI
- See Also:
- Constant Field Values
TldLocationsCache
public TldLocationsCache(javax.servlet.ServletContext ctxt)
TldLocationsCache
public TldLocationsCache(javax.servlet.ServletContext ctxt,
                         boolean redeployMode)
- Constructor.
 
- Parameters:
- ctxt- the servlet context of the web application in which Jasper
 is running
- redeployMode- if true, then the compiler will allow redeploying
 a tag library from the same jar, at the expense of slowing down the
 server a bit. Note that this may only work on JDK 1.3.1_01a and later,
 because of JDK bug 4211817 fixed in this release.
 If redeployMode is false, a faster but less capable mode will be used.
 
setNoTldJars
public static void setNoTldJars(java.lang.String jarNames)
- Sets the list of JARs that are known not to contain any TLDs.
 
- 
- Parameters:
- jarNames- List of comma-separated names of JAR files that are
 known not to contain any TLDs
 
getLocation
public java.lang.String[] getLocation(java.lang.String uri)
                               throws JasperException
- Gets the 'location' of the TLD associated with the given taglib 'uri'.
 Returns null if the uri is not associated with any tag library 'exposed'
 in the web application. A tag library is 'exposed' either explicitly in
 web.xml or implicitly via the uri tag in the TLD of a taglib deployed
 in a jar file (WEB-INF/lib).
 
- 
- Parameters:
- uri- The taglib uri
- Returns:
- An array of two Strings: The first element denotes the real
 path to the TLD. If the path to the TLD points to a jar file, then the
 second element denotes the name of the TLD entry in the jar file.
 Returns null if the uri is not associated with any tag library 'exposed'
 in the web application.
- Throws:
- JasperException
 
uriType
public static int uriType(java.lang.String uri)
- Returns the type of a URI:
     ABS_URI
     ROOT_REL_URI
     NOROOT_REL_URI
 
- 
 
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.