Class AbstractFormTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
org.springframework.web.servlet.tags.RequestContextAwareTag
org.springframework.web.servlet.tags.HtmlEscapingAwareTag
org.springframework.web.servlet.tags.form.AbstractFormTag
- All Implemented Interfaces:
IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
- Direct Known Subclasses:
AbstractDataBoundFormElementTag
Base class for all JSP form tags. Provides utility methods for
null-safe EL evaluation and for accessing and working with a
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 JspWriter
associated with the current PageContext
.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE
Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
Fields inherited from interface jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected TagWriter
Create theTagWriter
which all output will be written to.protected final int
Provide a simple template method that callscreateTagWriter()
and passes the createdTagWriter
to thewriteTagContent(TagWriter)
method.protected Object
Evaluate the supplied value for the supplied attribute name.protected String
getDisplayString
(Object value) Get the display value of the suppliedObject
, HTML escaped as required.protected String
getDisplayString
(Object value, PropertyEditor propertyEditor) Get the display value of the suppliedObject
, HTML escaped as required.protected boolean
Overridden to default totrue
in case of no explicit default given.protected final void
writeOptionalAttribute
(TagWriter tagWriter, String attributeName, String value) Optionally writes the supplied value under the supplied attribute name into the suppliedTagWriter
.protected abstract int
writeTagContent
(TagWriter tagWriter) Subclasses should implement this method to perform tag content rendering.Methods inherited from class org.springframework.web.servlet.tags.HtmlEscapingAwareTag
htmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscape
Methods inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
doCatch, doFinally, doStartTag, getRequestContext
Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue
-
Constructor Details
-
AbstractFormTag
public AbstractFormTag()
-
-
Method Details
-
evaluate
@Nullable protected Object evaluate(String attributeName, @Nullable Object value) throws JspException Evaluate the supplied value for the supplied attribute name.The default implementation simply returns the given value as-is.
- Throws:
JspException
-
writeOptionalAttribute
protected final void writeOptionalAttribute(TagWriter tagWriter, String attributeName, @Nullable String value) throws JspException Optionally writes the supplied value under the supplied attribute name into the suppliedTagWriter
. In this case, the supplied value isevaluated
first and then theString representation
is written as the attribute value. If the resultantString
representation isnull
or empty, no attribute is written.- Throws:
JspException
- See Also:
-
createTagWriter
Create theTagWriter
which all output will be written to. By default, theTagWriter
writes its output to theJspWriter
for the currentPageContext
. Subclasses may choose to change theWriter
to which output is actually written. -
doStartTagInternal
Provide a simple template method that callscreateTagWriter()
and passes the createdTagWriter
to thewriteTagContent(TagWriter)
method.- Specified by:
doStartTagInternal
in classRequestContextAwareTag
- Returns:
- the value returned by
writeTagContent(TagWriter)
- Throws:
Exception
- any exception, any checked one other than a JspException gets wrapped in a JspException by doStartTag- See Also:
-
getDisplayString
Get the display value of the suppliedObject
, HTML escaped as required. This version is notPropertyEditor
-aware. -
getDisplayString
Get the display value of the suppliedObject
, HTML escaped as required. If the supplied value is not aString
and the suppliedPropertyEditor
is not null then thePropertyEditor
is used to obtain the display value. -
isDefaultHtmlEscape
protected boolean isDefaultHtmlEscape()Overridden to default totrue
in case of no explicit default given.- Overrides:
isDefaultHtmlEscape
in classHtmlEscapingAwareTag
- See Also:
-
writeTagContent
Subclasses should implement this method to perform tag content rendering.- Returns:
- valid tag render instruction as per
Tag.doStartTag()
. - Throws:
JspException
-