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, pageContextFields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAINFields 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 voidCall this function in your tag's doEnd() method, to clear all stored attributes from this tag.protected voidAllow JSTL EL expressions within all attributes.protected StringReturns a string with contains all attributes assigned to this tag, in key="value" format.protected StringvoidsetAccessKey(String accessKey) voidsetContenteditable(String contentEditable) voidvoidsetDisabled(String disabled) voidsetExtraAttributes(String extraAttributes) voidsetHidefocus(String hideFocus) voidvoidsetLanguage(String language) voidsetMaxlength(String maxLength) voidsetOnactivate(String onactivate) voidsetOnafterupdate(String onafterupdate) voidsetOnbeforeactvate(String onbeforeactvate) voidsetOnbeforecut(String onbeforecut) voidsetOnbeforedeactivate(String onbeforedeactivate) voidsetOnbeforeeditfocus(String onbeforeeditfocus) voidsetOnbeforepaste(String onbeforepaste) voidsetOnbeforeupdate(String onbeforeupdate) voidvoidsetOnchange(String onchange) voidsetOnclick(String onclick) voidsetOncontextmenu(String oncontextmenu) voidsetOncontrolselect(String oncontrolselect) voidvoidsetOndblclick(String ondblclick) voidsetOndeactivate(String ondeactivate) voidvoidsetOndragend(String ondragend) voidsetOndragenter(String ondragenter) voidsetOndragleave(String ondragleave) voidsetOndragover(String ondragover) voidsetOndragstart(String ondragstart) voidvoidsetOnerrorupdate(String onerrorupdate) voidsetOnfilterchange(String onfilterchange) voidsetOnfocus(String onfocus) voidsetOnfocusin(String onfocusin) voidsetOnfocusout(String onfocusout) voidvoidsetOnkeydown(String onkeydown) voidsetOnkeypress(String onkeypress) voidsetOnkeyup(String onkeyup) voidsetOnlosecapture(String onlosecapture) voidsetOnmousedown(String onmousedown) voidsetOnmouseenter(String onmouseenter) voidsetOnmouseleave(String onmouseleave) voidsetOnmousemove(String onmousemove) voidsetOnmouseout(String onmouseout) voidsetOnmouseover(String onmouseover) voidsetOnmouseup(String onmouseup) voidsetOnmousewheel(String onmousewheel) voidvoidsetOnmoveend(String onmoveend) voidsetOnmovestart(String onmovestart) voidsetOnpaste(String onpaste) voidsetOnpropertychange(String onpropertychange) voidsetOnreadystatechange(String onreadystatechange) voidsetOnresize(String onresize) voidsetOnresizeend(String onresizeend) voidsetOnresizestart(String onresizestart) voidsetOnselect(String onselect) voidsetOnselectstart(String onselectstart) voidsetOntimeerror(String ontimeerror) voidsetReadonly(String readOnly) voidvoidvoidsetStyleClass(String clazz) voidsetTabindex(String tabIndex) voidvoidsetUnselectable(String unselectable) voidMethods 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.
-