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:
java.io.Serializable
,javax.servlet.jsp.tagext.BodyTag
,javax.servlet.jsp.tagext.IterationTag
,javax.servlet.jsp.tagext.JspTag
,javax.servlet.jsp.tagext.Tag
,javax.servlet.jsp.tagext.TryCatchFinally
,ParamParent
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.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ImportSupport.ImportRequestWrapper
Wraps requests to allow us to enforce the method to be GETprivate class
ImportSupport.ImportResponseWrapper
Wraps responses to allow us to retrieve results as Strings.
-
Field Summary
Fields Modifier and Type Field Description 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
-
Constructor Summary
Constructors Constructor Description ImportSupport()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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)
int
doEndTag()
void
doFinally()
int
doStartTag()
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()
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
-
-
-
-
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
-
-
Method Detail
-
init
private void init()
-
doStartTag
public int doStartTag() throws javax.servlet.jsp.JspException
- Specified by:
doStartTag
in interfacejavax.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in classjavax.servlet.jsp.tagext.BodyTagSupport
- Throws:
javax.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws javax.servlet.jsp.JspException
- Specified by:
doEndTag
in interfacejavax.servlet.jsp.tagext.Tag
- Overrides:
doEndTag
in classjavax.servlet.jsp.tagext.BodyTagSupport
- Throws:
javax.servlet.jsp.JspException
-
doCatch
public void doCatch(java.lang.Throwable t) throws java.lang.Throwable
- Specified by:
doCatch
in interfacejavax.servlet.jsp.tagext.TryCatchFinally
- Throws:
java.lang.Throwable
-
doFinally
public void doFinally()
- Specified by:
doFinally
in interfacejavax.servlet.jsp.tagext.TryCatchFinally
-
release
public void release()
- Specified by:
release
in interfacejavax.servlet.jsp.tagext.Tag
- Overrides:
release
in classjavax.servlet.jsp.tagext.BodyTagSupport
-
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 interfaceParamParent
- See Also:
ParamSupport
-
acquireString
private java.lang.String acquireString() throws java.io.IOException, javax.servlet.jsp.JspException
- Throws:
java.io.IOException
javax.servlet.jsp.JspException
-
acquireReader
private java.io.Reader acquireReader() throws java.io.IOException, javax.servlet.jsp.JspException
- 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.- Throws:
javax.servlet.jsp.JspTagException
-
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).
-
-