Using a TagExtraInfo Class for Validation
The
TagLibraryValidator
is the most powerful validation mechanism, but it comes at the price
of complexity. You need to be pretty well versed in XML to validate
the use of your tag library. I recommend that you give it a shot and
make it your first choice, but it may be overkill for a small library
with modest validation needs. If that’s the case,
you can develop TagExtraInfo subclasses for the
individual custom actions that need validation. A
TagExtraInfo subclass can validate the use of the
action element attributes. Optional attributes may be mutually
exclusive—if one is used, the other must not be used—or
using one optional attribute may require another optional attribute
be used as well. A TagExtraInfo subclass can
verify rules like this, but it can’t verify that a
custom action is used correctly in the JSP page relative to other
actions.
After the JSP container has checked everything it can on its own and
has used the TagLibraryValidator classes for all
libraries used in the page, it looks for
TagExtraInfo declarations for each custom action
element used in the page:
<tag>
<name>myOptionalAttributesAction</name>
<tag-class>com.foo.MyOptionalAttributesTag</tag-class>
<tei-class>com.foo.MyOptionalAttributesTEI</tei-class>
...
</tag>If it finds a <tei-class> element for an
action, the container creates a TagData instance
with the attribute values specified in the action element and calls
the TagExtraInfo validate( )
method:
public ValidationMessage[] ...
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