An implementation can still work in a 1 pass manner; it only needs to remember all the
prefixes it has found and make the assumption that taglib directives appear before their use.
But, if it later discovers that a taglib directive is defining a prefix that was used previously
then it can cause a translation error.
Processing Tag Libraries
We describe some details of how to compile Tag Libraries and show an sketch of some code
implementing a JSP page.
Processing a Tag Library Descriptor
The tag library descriptor is read and information is extracted from it. Some of the actions to
be performed include:
Record the mapping from tag to tag handler class
Record the tag as a known to the JSP container so a taglib directive will introduce new
Record information on what tags must have an empty body, to be checked on individual
pages later on.
Record what are the valid attributes, and which ones can have request time values.
Record the TagExtraInfo classes, if any, associated with given tags,.
Can be used to perform reflection on the tag handler classes to determine if the class
implements Tag or BodyTag
Can be used to perform introspection on the tag handler classes to determine their
properties and their setter methods.
Processing a JSP page
When the JSP container processes a JSP page, it will perform analysis, validation, and
generation of code. Actions include:
Validate that actions who must have an empty body do.
Validate that the only attributes that appear are those indicated in the TLD.
Validate that the only attributes with request time values are those indicated in the TLD.
JavaServer Pages 1.1 Specification
November 30, 1999