Processing the Action Body
It’s fairly easy to develop the most basic type of tag handlers even with the classic tag handler API. For a tag handler that needs to read and process the element body, the difference between the simple and the classic API is more apparent.
A classic tag handler that needs access to the action
element’s body must implement the
BodyTag interface and tell the container to
capture the body evaluation result in an instance of the
BodyContent class.
The
BodyTag interface
extends the IterationTag interface and adds two
new methods:
-
public void setBodyContent(BodyContent bodyContent) Provides a reference to the
BodyContentinstance that buffers the body evaluation result for this tag handler-
public void doInitBody( ) throws JspException Can be implemented by a tag handler to prepare for the first evaluation of the body
Figure 21-6 illustrates the container calling these
new methods, which are relative to the methods inherited from the
IterationTag interface.
![]() |
As with the Tag and
IterationTag interfaces, there’s
a support class that implements all the methods of the
BodyTag interface, plus a few utility methods:
public class BodyTagSupport extends TagSupport implements BodyTag
The BodyTagSupport class overrides the
doStartTag( ) method inherited from the
TagSupport class:
public int doStartTag( ) throws JspException { return ...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
