## org.apache.taglibs.standard.tag.common.core
Class ImportSupport

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.tagext.BodyTagSupport
              org.apache.taglibs.standard.tag.common.core.ImportSupport

All Implemented Interfaces:
  Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, ParamParent

Direct Known Subclasses:
  ImportTag, ImportTag

    public abstract class ImportSupport

extends BodyTagSupport
implements 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.

Author:
  Shawn Bayern
See Also:
  Serialized Form

Field Summary
`protected String` `charEncoding`
`protected String` `context`
`static String` `DEFAULT_ENCODING` Default character encoding for response.
`protected String` `url`
`static String` `VALID_SCHEME_CHARS` Valid characters in a scheme.

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
`void` `addParameter(String name, String value)` Adds a parameter to this tag's URL.
`void` `doCatch(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.
`static boolean` `isAbsoluteUrl(String url)` Returns `true` if our current URL is absolute, `false` otherwise.
`void` `release()` Release state.
`void` `setScope(String scope)`
`void` `setVar(String var)`
`void` `setVarReader(String varReader)`
`static String` `stripSession(String url)` Strips a servlet session ID from `url`.

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 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 String DEFAULT_ENCODING

  Default character encoding for response.

  See Also:
    Constant Field Values

### url

    protected String url

### context

    protected String context

### charEncoding

    protected String charEncoding

Constructor Detail

### ImportSupport

    public ImportSupport()

Method Detail

### doStartTag

    public int doStartTag()
                   throws JspException

  Description copied from class: `BodyTagSupport`
  Default processing of the start tag returning EVAL_BODY_BUFFERED.

  Specified by:
    `doStartTag` in interface `Tag`
  Overrides:
    `doStartTag` in class `BodyTagSupport`
  Returns:
    EVAL_BODY_BUFFERED
  Throws:
    `JspException` - if an error occurred while processing this tag
  See Also:
    `Tag.doStartTag()`

### doEndTag

    public int doEndTag()
                 throws JspException

  Description copied from class: `BodyTagSupport`
  Default processing of the end tag returning EVAL_PAGE.

  Specified by:
    `doEndTag` in interface `Tag`
  Overrides:
    `doEndTag` in class `BodyTagSupport`
  Returns:
    EVAL_PAGE
  Throws:
    `JspException` - if an error occurred while processing this tag
  See Also:
    `Tag.doEndTag()`

### doCatch

    public void doCatch(Throwable t)
                 throws Throwable

  Description copied from interface: `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 `TryCatchFinally`
  Parameters:
    `t` - The throwable exception navigating through this tag.
  Throws:
    `Throwable` - if the exception is to be rethrown further up the nest chain.

### doFinally

    public void doFinally()

  Description copied from interface: `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 `TryCatchFinally`

### release

    public void release()

  Description copied from class: `BodyTagSupport`
  Release state.

  Specified by:
    `release` in interface `Tag`
  Overrides:
    `release` in class `BodyTagSupport`
  See Also:
    `Tag.release()`

### setVar

    public void setVar(String var)

### setVarReader

    public void setVarReader(String varReader)

### setScope

    public void setScope(String scope)

### addParameter

    public void addParameter(String name,
                             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`
  See Also:
    `ParamSupport`

### isAbsoluteUrl

    public static boolean isAbsoluteUrl(String url)

  Returns `true` if our current URL is absolute, `false` otherwise.

### stripSession

    public static String stripSession(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).

Copyright © 2007 Mort Bay Consulting. All Rights Reserved.