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 classImportSupport.ImportRequestWrapperWraps requests to allow us to enforce the method to be GETprivate classImportSupport.ImportResponseWrapperWraps responses to allow us to retrieve results as Strings.
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringcharEncodingprotected java.lang.Stringcontextstatic java.lang.StringDEFAULT_ENCODINGDefault character encoding for response.private booleanisAbsoluteUrlprivate ParamSupport.ParamManagerparamsprivate java.io.Readerrprivate intscopeprotected java.lang.Stringurlprivate java.lang.StringurlWithParamsstatic java.lang.StringVALID_SCHEME_CHARSValid characters in a scheme.private java.lang.Stringvarprivate java.lang.StringvarReader
-
Constructor Summary
Constructors Constructor Description ImportSupport()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.io.ReaderacquireReader()private java.lang.StringacquireString()voidaddParameter(java.lang.String name, java.lang.String value)Adds a parameter to this tag's URL.voiddoCatch(java.lang.Throwable t)intdoEndTag()voiddoFinally()intdoStartTag()private voidinit()private booleanisAbsoluteUrl()Returns true if our current URL is absolute, false otherwise.static booleanisAbsoluteUrl(java.lang.String url)Returns true if our current URL is absolute, false otherwise.voidrelease()voidsetScope(java.lang.String scope)voidsetVar(java.lang.String var)voidsetVarReader(java.lang.String varReader)static java.lang.StringstripSession(java.lang.String url)Strips a servlet session ID from url.private java.lang.StringtargetUrl()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:
doStartTagin interfacejavax.servlet.jsp.tagext.Tag- Overrides:
doStartTagin classjavax.servlet.jsp.tagext.BodyTagSupport- Throws:
javax.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws javax.servlet.jsp.JspException- Specified by:
doEndTagin interfacejavax.servlet.jsp.tagext.Tag- Overrides:
doEndTagin classjavax.servlet.jsp.tagext.BodyTagSupport- Throws:
javax.servlet.jsp.JspException
-
doCatch
public void doCatch(java.lang.Throwable t) throws java.lang.Throwable- Specified by:
doCatchin interfacejavax.servlet.jsp.tagext.TryCatchFinally- Throws:
java.lang.Throwable
-
doFinally
public void doFinally()
- Specified by:
doFinallyin interfacejavax.servlet.jsp.tagext.TryCatchFinally
-
release
public void release()
- Specified by:
releasein interfacejavax.servlet.jsp.tagext.Tag- Overrides:
releasein 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:ParamParentAdds 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:
addParameterin interfaceParamParent- See Also:
ParamSupport
-
acquireString
private java.lang.String acquireString() throws java.io.IOException, javax.servlet.jsp.JspException- Throws:
java.io.IOExceptionjavax.servlet.jsp.JspException
-
acquireReader
private java.io.Reader acquireReader() throws java.io.IOException, javax.servlet.jsp.JspException- Throws:
java.io.IOExceptionjavax.servlet.jsp.JspException
-
targetUrl
private java.lang.String targetUrl()
Returns our URL (potentially with parameters)
-
isAbsoluteUrl
private boolean isAbsoluteUrl() throws javax.servlet.jsp.JspTagExceptionReturns 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).
-
-