Class TagFileProcessor

java.lang.Object
org.apache.jasper.compiler.TagFileProcessor

class TagFileProcessor extends Object
1. Processes and extracts the directive info in a tag file. 2. Compiles and loads tag files used in a JSP file.
  • Field Details

  • Constructor Details

    • TagFileProcessor

      TagFileProcessor()
  • Method Details

    • parseTagFileDirectives

      public static javax.servlet.jsp.tagext.TagInfo parseTagFileDirectives(ParserController pc, String name, String path, javax.servlet.jsp.tagext.TagLibraryInfo tagLibInfo) throws JasperException
      Parses the tag file, and collects information on the directives included in it. The method is used to obtain the info on the tag file, when the handler that it represents is referenced. The tag file is not compiled here.
      Parameters:
      pc - the current ParserController used in this compilation
      name - the tag name as specified in the TLD
      tagLibInfo - the TagLibraryInfo object associated with this TagInfo
      tagfile - the path for the tagfile
      Returns:
      a TagInfo object assembled from the directives in the tag file.
      Throws:
      JasperException
    • loadTagFile

      private Class loadTagFile(Compiler compiler, String tagFilePath, javax.servlet.jsp.tagext.TagInfo tagInfo, PageInfo parentPageInfo) throws JasperException
      Compiles and loads a tagfile.
      Throws:
      JasperException
    • loadTagFiles

      public void loadTagFiles(Compiler compiler, Node.Nodes page) throws JasperException
      Implements a phase of the translation that compiles (if necessary) the tag files used in a JSP files. The directives in the tag files are assumed to have been proccessed and encapsulated as TagFileInfo in the CustomTag nodes.
      Throws:
      JasperException
    • removeProtoTypeFiles

      public void removeProtoTypeFiles(String classFileName)
      Removed the java and class files for the tag prototype generated from the current compilation.
      Parameters:
      classFileName - If non-null, remove only the class file with with this name.