Class JspFragment

java.lang.Object

javax.servlet.jsp.tagext.JspFragment

public abstract class JspFragment
extends java.lang.Object

Encapsulates a portion of JSP code in an object that
can be invoked as many times as needed. JSP Fragments are defined
using JSP syntax as the body of a tag for an invocation to a SimpleTag
handler, or as the body of a <jsp:attribute> standard action
specifying the value of an attribute that is declared as a fragment,
or to be of type JspFragment in the TLD.

The definition of the JSP fragment must only contain template
text and JSP action elements. In other words, it must not contain
scriptlets or scriptlet expressions. At translation time, the
container generates an implementation of the JspFragment abstract class
capable of executing the defined fragment.

A tag handler can invoke the fragment zero or more times, or
pass it along to other tags, before returning. To communicate values
to/from a JSP fragment, tag handlers store/retrieve values in
the JspContext associated with the fragment.

Implementation Note: It is not necessary to generate a
separate class for each fragment. One possible implementation is
to generate a single helper class for each page that implements
JspFragment. Upon construction, a discriminator can be passed to
select which fragment that instance will execute.

Constructor Detail

JspFragment

Method Detail

invoke

Executes the fragment and directs all output to the given Writer,
or the JspWriter returned by the getOut() method of the JspContext
associated with the fragment if out is null.

Parameters:

out - The Writer to output the fragment to, or null if
output should be sent to JspContext.getOut().

Throws:

JspException - Thrown if an error occurred
while invoking this fragment.

SkipPageException - Thrown if the page
that (either directly or indirectly) invoked the tag handler that
invoked this fragment is to cease evaluation. The container
must throw this exception if a Classic Tag Handler returned
Tag.SKIP_PAGE or if a Simple Tag Handler threw SkipPageException.