public abstract class AbstractFormTag extends HtmlEscapingAwareTag
TagWriter
.
Subclasses should implement the writeTagContent(TagWriter)
to perform
actual tag rendering.
Subclasses (or test classes) can override the createTagWriter()
method to
redirect output to a Writer
other than the javax.servlet.jsp.JspWriter
associated with the current javax.servlet.jsp.PageContext
.
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE
Constructor and Description |
---|
AbstractFormTag() |
Modifier and Type | Method and Description |
---|---|
protected TagWriter |
createTagWriter()
Create the
TagWriter which all output will be written to. |
protected int |
doStartTagInternal()
Provide a simple template method that calls
createTagWriter() and passes
the created TagWriter to the writeTagContent(TagWriter) method. |
protected java.lang.Object |
evaluate(java.lang.String attributeName,
java.lang.Object value)
Evaluate the supplied value for the supplied attribute name.
|
protected java.lang.String |
getDisplayString(java.lang.Object value)
Get the display value of the supplied
Object , HTML escaped
as required. |
protected java.lang.String |
getDisplayString(java.lang.Object value,
java.beans.PropertyEditor propertyEditor)
Get the display value of the supplied
Object , HTML escaped
as required. |
protected boolean |
isDefaultHtmlEscape()
Overridden to default to
true in case of no explicit default given. |
protected void |
writeOptionalAttribute(TagWriter tagWriter,
java.lang.String attributeName,
java.lang.String value)
Optionally writes the supplied value under the supplied attribute name into the supplied
TagWriter . |
protected abstract int |
writeTagContent(TagWriter tagWriter)
Subclasses should implement this method to perform tag content rendering.
|
htmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscape
doCatch, doFinally, doStartTag, getRequestContext
protected java.lang.Object evaluate(java.lang.String attributeName, java.lang.Object value) throws JspException
The default implementation simply returns the given value as-is.
JspException
protected final void writeOptionalAttribute(TagWriter tagWriter, java.lang.String attributeName, @Nullable java.lang.String value) throws JspException
TagWriter
. In this case, the supplied value is evaluated
first
and then the String representation
is written as the
attribute value. If the resultant String
representation is null
or empty, no attribute is written.JspException
TagWriter.writeOptionalAttributeValue(String, String)
protected TagWriter createTagWriter()
protected final int doStartTagInternal() throws java.lang.Exception
createTagWriter()
and passes
the created TagWriter
to the writeTagContent(TagWriter)
method.doStartTagInternal
in class RequestContextAwareTag
writeTagContent(TagWriter)
java.lang.Exception
- any exception, any checked one other than
a JspException gets wrapped in a JspException by doStartTagjavax.servlet.jsp.tagext.TagSupport#doStartTag
protected java.lang.String getDisplayString(java.lang.Object value)
Object
, HTML escaped
as required. This version is not PropertyEditor
-aware.protected java.lang.String getDisplayString(java.lang.Object value, java.beans.PropertyEditor propertyEditor)
Object
, HTML escaped
as required. If the supplied value is not a String
and the supplied
PropertyEditor
is not null then the PropertyEditor
is used
to obtain the display value.protected boolean isDefaultHtmlEscape()
true
in case of no explicit default given.isDefaultHtmlEscape
in class HtmlEscapingAwareTag
RequestContextAwareTag.getRequestContext()
protected abstract int writeTagContent(TagWriter tagWriter) throws JspException
javax.servlet.jsp.tagext.Tag#doStartTag()
.JspException