Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.taglibs.standard.tag.common.core
Class ImportSupport  view ImportSupport download ImportSupport.java

java.lang.Object
  extended byjavax.servlet.jsp.tagext.TagSupport
      extended byjavax.servlet.jsp.tagext.BodyTagSupport
          extended byorg.apache.taglibs.standard.tag.common.core.ImportSupport
All Implemented Interfaces:
javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, ParamParent, java.io.Serializable, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

public abstract class ImportSupport
extends javax.servlet.jsp.tagext.BodyTagSupport
implements javax.servlet.jsp.tagext.TryCatchFinally, ParamParent

Support for tag handlers for <import>, the general-purpose text-importing mechanism for JSTL 1.0. The rtexprvalue and expression- evaluating libraries each have handlers that extend this class.


Nested Class Summary
private  class ImportSupport.ImportResponseWrapper
          Wraps responses to allow us to retrieve results as Strings.
 
Field Summary
protected  java.lang.String charEncoding
           
protected  java.lang.String context
           
static java.lang.String DEFAULT_ENCODING
          Default character encoding for response.
private  boolean isAbsoluteUrl
           
private  ParamSupport.ParamManager params
           
private  java.io.Reader r
           
private  int scope
           
protected  java.lang.String url
           
private  java.lang.String urlWithParams
           
static java.lang.String VALID_SCHEME_CHARS
          Valid characters in a scheme.
private  java.lang.String var
           
private  java.lang.String varReader
           
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, pageContext
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
ImportSupport()
           
 
Method Summary
private  java.io.Reader acquireReader()
           
private  java.lang.String acquireString()
           
 void addParameter(java.lang.String name, java.lang.String value)
          Adds a parameter to this tag's URL.
 void doCatch(java.lang.Throwable t)
          Invoked if a Throwable occurs while evaluating the BODY inside a tag or in any of the following methods: Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() and BodyTag.doInitBody().
 int doEndTag()
          Default processing of the end tag returning EVAL_PAGE.
 void doFinally()
          Invoked in all cases after doEndTag() for any class implementing Tag, IterationTag or BodyTag.
 int doStartTag()
          Default processing of the start tag returning EVAL_BODY_BUFFERED.
private  void init()
           
private  boolean isAbsoluteUrl()
          Returns true if our current URL is absolute, false otherwise.
static boolean isAbsoluteUrl(java.lang.String url)
          Returns true if our current URL is absolute, false otherwise.
 void release()
          Release state.
 void setScope(java.lang.String scope)
           
 void setVar(java.lang.String var)
           
 void setVarReader(java.lang.String varReader)
           
static java.lang.String stripSession(java.lang.String url)
          Strips a servlet session ID from url.
private  java.lang.String targetUrl()
          Returns our URL (potentially with parameters)
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
 

Field Detail

VALID_SCHEME_CHARS

public static final java.lang.String VALID_SCHEME_CHARS

Valid characters in a scheme.

RFC 1738 says the following:

Scheme names consist of a sequence of characters. The lower case letters "a"--"z", digits, and the characters plus ("+"), period ("."), and hyphen ("-") are allowed. For resiliency, programs interpreting URLs should treat upper case letters as equivalent to lower case in scheme names (e.g., allow "HTTP" as well as "http").

We treat as absolute any URL that begins with such a scheme name, followed by a colon.

See Also:
Constant Field Values

DEFAULT_ENCODING

public static final java.lang.String DEFAULT_ENCODING
Default character encoding for response.

See Also:
Constant Field Values

url

protected java.lang.String url

context

protected java.lang.String context

charEncoding

protected java.lang.String charEncoding

var

private java.lang.String var

scope

private int scope

varReader

private java.lang.String varReader

r

private java.io.Reader r

isAbsoluteUrl

private boolean isAbsoluteUrl

params

private ParamSupport.ParamManager params

urlWithParams

private java.lang.String urlWithParams
Constructor Detail

ImportSupport

public ImportSupport()
Method Detail

init

private void init()

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
Description copied from class: javax.servlet.jsp.tagext.BodyTagSupport
Default processing of the start tag returning EVAL_BODY_BUFFERED.

Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
Description copied from class: javax.servlet.jsp.tagext.BodyTagSupport
Default processing of the end tag returning EVAL_PAGE.

Specified by:
doEndTag in interface javax.servlet.jsp.tagext.Tag

doCatch

public void doCatch(java.lang.Throwable t)
             throws java.lang.Throwable
Description copied from interface: javax.servlet.jsp.tagext.TryCatchFinally
Invoked if a Throwable occurs while evaluating the BODY inside a tag or in any of the following methods: Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() and BodyTag.doInitBody().

This method is not invoked if the Throwable occurs during one of the setter methods.

This method may throw an exception (the same or a new one) that will be propagated further up the nest chain. If an exception is thrown, doFinally() will be invoked.

This method is intended to be used to respond to an exceptional condition.

Specified by:
doCatch in interface javax.servlet.jsp.tagext.TryCatchFinally

doFinally

public void doFinally()
Description copied from interface: javax.servlet.jsp.tagext.TryCatchFinally
Invoked in all cases after doEndTag() for any class implementing Tag, IterationTag or BodyTag. This method is invoked even if an exception has occurred in the BODY of the tag, or in any of the following methods: Tag.doStartTag(), Tag.doEndTag(), IterationTag.doAfterBody() and BodyTag.doInitBody().

This method is not invoked if the Throwable occurs during one of the setter methods.

This method should not throw an Exception.

This method is intended to maintain per-invocation data integrity and resource management actions.

Specified by:
doFinally in interface javax.servlet.jsp.tagext.TryCatchFinally

release

public void release()
Description copied from class: javax.servlet.jsp.tagext.BodyTagSupport
Release state.

Specified by:
release in interface javax.servlet.jsp.tagext.Tag

setVar

public void setVar(java.lang.String var)

setVarReader

public void setVarReader(java.lang.String varReader)

setScope

public void setScope(java.lang.String scope)

addParameter

public void addParameter(java.lang.String name,
                         java.lang.String value)
Description copied from interface: ParamParent
Adds a parameter to this tag's URL. The intent is that the <param> subtag will call this to register URL parameters. Assumes that 'name' and 'value' are appropriately encoded and do not contain any meaningful metacharacters; in order words, escaping is the responsibility of the caller.

Specified by:
addParameter in interface ParamParent

acquireString

private java.lang.String acquireString()
                                throws java.io.IOException,
                                       javax.servlet.jsp.JspException

acquireReader

private java.io.Reader acquireReader()
                              throws java.io.IOException,
                                     javax.servlet.jsp.JspException

targetUrl

private java.lang.String targetUrl()
Returns our URL (potentially with parameters)


isAbsoluteUrl

private boolean isAbsoluteUrl()
                       throws javax.servlet.jsp.JspTagException
Returns true if our current URL is absolute, false otherwise.


isAbsoluteUrl

public static boolean isAbsoluteUrl(java.lang.String url)
Returns true if our current URL is absolute, false otherwise.


stripSession

public static java.lang.String stripSession(java.lang.String url)
Strips a servlet session ID from url. The session ID is encoded as a URL "path parameter" beginning with "jsessionid=". We thus remove anything we find between ";jsessionid=" (inclusive) and either EOS or a subsequent ';' (exclusive).