Class StandardHtmlTag
- All Implemented Interfaces:
jakarta.servlet.jsp.tagext.IterationTag
,jakarta.servlet.jsp.tagext.JspTag
,jakarta.servlet.jsp.tagext.Tag
,Serializable
- Direct Known Subclasses:
SelectTag
Other taglibs that are used to generate HTML elements (e.g. SelectTag), can extend this class to take advantage of this functionality.
Superclasses may override any method defined in this tag to provide their own special handling. The attributes handled by this tag are accesskey, styleClass, contenteditable, dir, disabled, lang, language, maxlength, size, style, title, width, onactivate, onafterupdate, onbeforeactvate, onbeforecut, onbeforedeactivate, onbeforeeditfocus, onbeforepaste, onbeforeupdate, onblur, onchange, onclick, oncontextmenu, oncontrolselect, oncut, ondblclick, ondeactivate, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerrorupdate, onfilterchange, onfocus, onfocusin, onfocusout, onhelp, onkeydown, onkeypress, onkeyup, onlosecapture, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onmove, onmoveend, onmovestart, onpaste, onpropertychange, onreadystatechange, onresize, onresizeend, onresizestart, onselect, onselectstart, ontimeerror, hidefocus, readonly, tabindex and unselectable.
Note that the HTML attribute 'class' is now called 'styleClass', since the Object.getClass() method interferes with standard JavaBean reflection.
All attributes are lower-case, except extraAttributes (see below).
Note that the attributes 'name', 'type' and 'value' are intentionally not on this list, as they would normally be generated by the specific tag libary itself.
The 'disabled' attributes has some special handling -- if it's set to the value "false", then the attribute is removed. This is due to IE treating 'disabled="false"' as actually disabling the control. Which is odd.
The IE-only attributes hidefocus, readonly, tabindex and unselectable are included on this list, because they seem reasonably useful. The IE-only attributes begin, end, datafld, datasrc, autocomplete, syncmasterm, timecontainer and vcard_name are not on this list, because they don't seem as useful. You can always add them if you think they're needed.
Values are EL-evaluated (so you can have JSTL-style ${xxxx}
values).
Additional attributes can be expressed using the extraAttributes attribute, e.g. to put a non-standard attribute 'onmousewheelclick' into the element, you could use, for example:
<mm:something extraAttribute="onmousewheelclick='doSomethingInJavascript()'" />
Any tag that extends this class should have the following text in it's .tld descriptor:
<!-- Attributes understood by StandardHtmlTag --> <attribute><name>accesskey</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>styleClass</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>contenteditable</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>dir</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>disabled</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>lang</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>language</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>maxlength</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>size</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>style</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>title</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>width</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onactivate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onafterupdate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onbeforeactvate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onbeforecut</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onbeforedeactivate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onbeforeeditfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onbeforepaste</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onbeforeupdate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onblur</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>oncontextmenu</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>oncontrolselect</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>oncut</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondblclick</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondeactivate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondrag</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondragend</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondragenter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondragleave</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondragover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondragstart</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ondrop</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onerrorupdate</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onfilterchange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onfocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onfocusin</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onfocusout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onhelp</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onkeydown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onkeypress</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onkeyup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onlosecapture</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmousedown</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmouseenter</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmouseleave</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmousemove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmouseout</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmouseover</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmouseup</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmousewheel</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmove</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmoveend</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onmovestart</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onpaste</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onpropertychange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onreadystatechange</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onresize</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onresizeend</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onresizestart</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onselect</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>onselectstart</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>ontimeerror</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>hidefocus</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>readonly</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>tabindex</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>unselectable</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute> <attribute><name>extraAttributes</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute>NB: Implementing classes MUST call getAttributes().clear(); in their doEnd() method, in case the JSP container decides to reuse taglib instances.
- Author:
- knoxg
- See Also:
-
Field Summary
FieldsFields 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 void
Call this function in your tag's doEnd() method, to clear all stored attributes from this tag.protected void
Allow JSTL EL expressions within all attributes.protected String
Returns a string with contains all attributes assigned to this tag, in key="value" format.protected String
void
setAccessKey
(String accessKey) void
setContenteditable
(String contentEditable) void
void
setDisabled
(String disabled) void
setExtraAttributes
(String extraAttributes) void
setHidefocus
(String hideFocus) void
void
setLanguage
(String language) void
setMaxlength
(String maxLength) void
setOnactivate
(String onactivate) void
setOnafterupdate
(String onafterupdate) void
setOnbeforeactvate
(String onbeforeactvate) void
setOnbeforecut
(String onbeforecut) void
setOnbeforedeactivate
(String onbeforedeactivate) void
setOnbeforeeditfocus
(String onbeforeeditfocus) void
setOnbeforepaste
(String onbeforepaste) void
setOnbeforeupdate
(String onbeforeupdate) void
void
setOnchange
(String onchange) void
setOnclick
(String onclick) void
setOncontextmenu
(String oncontextmenu) void
setOncontrolselect
(String oncontrolselect) void
void
setOndblclick
(String ondblclick) void
setOndeactivate
(String ondeactivate) void
void
setOndragend
(String ondragend) void
setOndragenter
(String ondragenter) void
setOndragleave
(String ondragleave) void
setOndragover
(String ondragover) void
setOndragstart
(String ondragstart) void
void
setOnerrorupdate
(String onerrorupdate) void
setOnfilterchange
(String onfilterchange) void
setOnfocus
(String onfocus) void
setOnfocusin
(String onfocusin) void
setOnfocusout
(String onfocusout) void
void
setOnkeydown
(String onkeydown) void
setOnkeypress
(String onkeypress) void
setOnkeyup
(String onkeyup) void
setOnlosecapture
(String onlosecapture) void
setOnmousedown
(String onmousedown) void
setOnmouseenter
(String onmouseenter) void
setOnmouseleave
(String onmouseleave) void
setOnmousemove
(String onmousemove) void
setOnmouseout
(String onmouseout) void
setOnmouseover
(String onmouseover) void
setOnmouseup
(String onmouseup) void
setOnmousewheel
(String onmousewheel) void
void
setOnmoveend
(String onmoveend) void
setOnmovestart
(String onmovestart) void
setOnpaste
(String onpaste) void
setOnpropertychange
(String onpropertychange) void
setOnreadystatechange
(String onreadystatechange) void
setOnresize
(String onresize) void
setOnresizeend
(String onresizeend) void
setOnresizestart
(String onresizestart) void
setOnselect
(String onselect) void
setOnselectstart
(String onselectstart) void
setOntimeerror
(String ontimeerror) void
setReadonly
(String readOnly) void
void
void
setStyleClass
(String clazz) void
setTabindex
(String tabIndex) void
void
setUnselectable
(String unselectable) void
Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, doStartTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue
-
Field Details
-
attributes
-
extraAttributes
-
-
Constructor Details
-
StandardHtmlTag
public StandardHtmlTag()
-
-
Method Details
-
setAccessKey
-
setStyleClass
-
setContenteditable
-
setDir
-
setDisabled
-
setLang
-
setLanguage
-
setMaxlength
-
setSize
-
setStyle
-
setTitle
-
setWidth
-
setOnactivate
-
setOnafterupdate
-
setOnbeforeactvate
-
setOnbeforecut
-
setOnbeforedeactivate
-
setOnbeforeeditfocus
-
setOnbeforepaste
-
setOnbeforeupdate
-
setOnblur
-
setOnchange
-
setOnclick
-
setOncontrolselect
-
setOncut
-
setOndblclick
-
setOndeactivate
-
setOndrag
-
setOndragend
-
setOndragenter
-
setOndragleave
-
setOndragover
-
setOndragstart
-
setOndrop
-
setOnerrorupdate
-
setOnfilterchange
-
setOnfocus
-
setOnfocusin
-
setOnfocusout
-
setOnhelp
-
setOnkeydown
-
setOnkeypress
-
setOnkeyup
-
setOnlosecapture
-
setOnmousedown
-
setOnmouseenter
-
setOnmouseleave
-
setOnmousemove
-
setOnmouseout
-
setOnmouseover
-
setOnmouseup
-
setOnmousewheel
-
setOnmove
-
setOnmoveend
-
setOnmovestart
-
setOnpaste
-
setOnpropertychange
-
setOnreadystatechange
-
setOnresize
-
setOnresizeend
-
setOnresizestart
-
setOnselect
-
setOnselectstart
-
setOntimeerror
-
setHidefocus
-
setReadonly
-
setTabindex
-
setUnselectable
-
setExtraAttributes
-
getAttributes
-
getExtraAttributes
-
evaluateAttributes
Allow JSTL EL expressions within all attributes.- Throws:
jakarta.servlet.jsp.JspException
- An exception occurred evaluating the EL.
-
getAttributeString
Returns a string with contains all attributes assigned to this tag, in key="value" format.(NB: values are not currently quote-escaped here)
- Returns:
- All attributes assigned to this tag.
-
clearAttributes
Call this function in your tag's doEnd() method, to clear all stored attributes from this tag.
-