Using a TagLibraryValidator
A feature introduced in JSP 1.2 is the tag library validator,
represented by the
javax.servlet.jsp.tagext.TagLibraryValidator
class. The container gives a validator
access to an XML representation of the complete page. A validator can
therefore verify interactions between custom actions, for instance
that a custom action that must be used as a subelement of another
action element isn’t used anywhere else, or that
action elements are used in the appropriate order. It can also
analyze the use of custom action attributes, perhaps making sure that
mutually exclusive optional attributes aren’t used
for an action element.
The container uses the validator defined for a tag library when it converts a JSP page to a servlet, after performing validation of the page based on the information available in the TLD (attributes and empty bodies).
Example 22-7 shows the top part of a validator that
verifies that a <xmp:child>
custom action
element is used only within the body of an
<xmp:parent>
action element.
package com.ora.jsp.tlv; import java.util.*; import javax.servlet.jsp.tagext.*; import org.jdom.*; import org.jdom.input.*; public class OraTLV extends TagLibraryValidator { private SAXBuilder builder = new SAXBuilder( ); private Namespace jspNamespace = Namespace.getNamespace("http://java.sun.com/JSP/Page");
The validator class extends the
TagLibraryValidator
class that is part of the JSP API. In this particular validator, ...
Get JavaServer Pages, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.