Making the Tag Library Files Available to the Container
During development, you may want to let the tag library classes and the TLD file reside as is in the filesystem, since it makes it easy to change the TLD and modify and recompile the classes. Just make sure the class files are stored in a directory that’s part of the classpath for the JSP container, such as the WEB-INF/classes directory for the web application. The TLD must also be available as a file with a .tld extension in a directory where the JSP container can find it. The recommended location is the WEB-INF/tlds directory.
When you’re done with the development, you may want to package all class files and the TLD in a JAR file. This makes it easier to install the library in an application. In this case, the TLD must be placed as a file with a .tld extension in the META-INF directory in the JAR file, for instance as META-INF/taglib.tld. Tag files, if any, must be stored under META-INF/tags, and the TLD must point to the exact location.
To create the JAR file, first arrange the files in a directory with a structure like this:
META-INF/
taglib.tld
tags/
mytags/
copyright.tag
forEvenAndOdd.tag
com/
ora/
jsp/
tags/
AddCookieTag.class
...
util/
StringFormat.class
...The structure for the class files must match the package names for your classes. I’ve shown a few of the classes in the tag library for this book as an example.
With the file structure in place, use the jar command to create the JAR file:
jar cvf orataglib_3_0.jar META-INF ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access