javax.servlet.jsp.tagext
public interface SimpleTag extends JspTag
Simple Tag Handlers differ from Classic Tag Handlers in that instead
of supporting doStartTag()
and doEndTag()
,
the SimpleTag
interface provides a simple
doTag()
method, which is called once and only once for any
given tag invocation. All tag logic, iteration, body evaluations, etc.
are to be performed in this single method. Thus, simple tag handlers
have the equivalent power of BodyTag
, but with a much
simpler lifecycle and interface.
To support body content, the setJspBody()
method is provided. The container invokes the setJspBody()
method with a JspFragment
object encapsulating the body of
the tag. The tag handler implementation can call
invoke()
on that fragment to evaluate the body as
many times as it needs.
A SimpleTag handler must have a public no-args constructor. Most SimpleTag handlers should extend SimpleTagSupport.
Lifecycle
The following is a non-normative, brief overview of the SimpleTag lifecycle. Refer to the JSP Specification for details.
setJspContext()
and setParent()
methods are called by the container. The setParent()
method is only called if the element is nested within another tag
invocation.setJspBody()
method is called
by the container to set the body of this tag, as a
JspFragment
. If the action element is empty in
the page, this method is not called at all.doTag()
method is called by the container. All
tag logic, iteration, body evaluations, etc. occur in this
method.doTag()
method returns and all variables are
synchronized.Since: 2.0
See Also: SimpleTagSupport
Method Summary | |
---|---|
void | doTag()
Called by the container to invoke this tag.
|
JspTag | getParent()
Returns the parent of this tag, for collaboration purposes.
|
void | setJspBody(JspFragment jspBody)
Provides the body of this tag as a JspFragment object, able to be
invoked zero or more times by the tag handler.
|
void | setJspContext(JspContext pc)
Called by the container to provide this tag handler with
the JspContext for this invocation.
|
void | setParent(JspTag parent)
Sets the parent of this tag, for collaboration purposes.
|
The JSP container will resynchronize any AT_BEGIN and AT_END variables (defined by the associated tag file, TagExtraInfo, or TLD) after the invocation of doTag().
Throws: javax.servlet.jsp.JspException If an error occurred while processing this tag. javax.servlet.jsp.SkipPageException If the page that (either directly or indirectly) invoked this tag is to cease evaluation. A Simple Tag Handler generated from a tag file must throw this exception if an invoked Classic Tag Handler returned SKIP_PAGE or if an invoked Simple Tag Handler threw SkipPageException or if an invoked Jsp Fragment threw a SkipPageException. java.io.IOException If there was an error writing to the output stream.
Returns: the parent of this tag
This method is invoked by the JSP page implementation
object prior to doTag()
. If the action element is
empty in the page, this method is not called at all.
Parameters: jspBody The fragment encapsulating the body of this tag.
JspContext
for this invocation.
An implementation should save this value.
Parameters: pc the page context for this invocation
See Also: Tag
The container invokes this method only if this tag invocation is nested within another tag invocation.
Parameters: parent the tag that encloses this tag