diff --git a/api/pom.xml b/api/pom.xml index f69582c5732..a1960d9f11d 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -247,10 +247,6 @@ src/main/resources - - META-INF/README - ${findbugs.exclude} - @@ -449,6 +445,8 @@ Use is subject to + + @@ -532,11 +530,11 @@ Use is subject to - ${project.basedir}/src/main/resources/com/sun/faces/standard-html-renderkit.xml - ${project.basedir}/src/main/resources + ${project.basedir}/src/main/renderkitdoc/standard-html-renderkit.xml + ${project.basedir}/src/main/xsd - + maven-resources-plugin 3.3.1 @@ -551,7 +549,7 @@ Use is subject to - src/main/renderkitdoc + src/main/renderkitdoc/resources ${project.build.directory}/renderkitdoc @@ -568,7 +566,7 @@ Use is subject to - src/main/vdldoc + src/main/vdldoc/resources ${project.build.directory}/vdldoc @@ -607,21 +605,21 @@ Use is subject to -css faces-api.css -f - src/main/resources/com/sun/faces/metadata/taglib/faces.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/faces.facelets.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/faces.core.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/faces.html.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/faces.passthrough.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/faces.composite.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/tags.core.taglib.xml - src/main/resources/com/sun/faces/metadata/taglib/tags.functions.taglib.xml + src/main/vdldoc/faces.taglib.xml + src/main/vdldoc/faces.facelets.taglib.xml + src/main/vdldoc/faces.core.taglib.xml + src/main/vdldoc/faces.html.taglib.xml + src/main/vdldoc/faces.passthrough.taglib.xml + src/main/vdldoc/faces.composite.taglib.xml + src/main/vdldoc/tags.core.taglib.xml + src/main/vdldoc/tags.functions.taglib.xml org.omnifaces vdldoc - 3.1 + 3.2 diff --git a/api/src/main/renderkitdoc/stylesheet.css b/api/src/main/renderkitdoc/resources/stylesheet.css similarity index 100% rename from api/src/main/renderkitdoc/stylesheet.css rename to api/src/main/renderkitdoc/resources/stylesheet.css diff --git a/api/src/main/renderkitdoc/standard-html-renderkit.xml b/api/src/main/renderkitdoc/standard-html-renderkit.xml new file mode 100644 index 00000000000..151eeee7660 --- /dev/null +++ b/api/src/main/renderkitdoc/standard-html-renderkit.xml @@ -0,0 +1,13041 @@ + + + + + + The + standard HTML RenderKit. Please see the spec for additional + details for the standard render-kit. + +

General notes on decoding

+ + + +

General notes on encoding

+ + ]]> + + Renders an HTML "input" + element.

+ +

Decode Behavior

+ + + + + +

Encode Behavior

+ + + ]]>
+ jakarta.faces.Command + jakarta.faces.Button + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Alternate textual description of the + element rendered by this component. + + Alternate Text + + alt + java.lang.String + + true + + + + + Absolute or relative URL of the + image to be displayed for this + button. If specified, this + "input" element will be of type + "image". Otherwise, it will be + of the type specified by the + "type" property with a label + specified by the "value" + property. Note + that if the value of this + attribute starts with "/", the + rendered value for this + attribute will be prefixed with + the context-root for this + application. +

]]>
+ Image URL + + image + java.lang.String +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + false + + action + true + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + Type of button to create. Valid values are "submit", "button", + and "reset". If not specified, or not a valid value, the default + value is "submit". + + Button Type + + type + java.lang.String + + "submit" + + + + + true + +
+ + Render an HTML "a" anchor + element that acts like a form submit button when + clicked.

+ +

General Behaviour

+ +

Both the encode and decode behavior require the ability to get + the id/name for a hidden field, which may be rendered in markup or which + may be programmatically added via client DOM manipulation, + whose value is set by the JavaScript form submit. This name must + be constructed as follows:

+ + + +

In the following text, this String is called + hiddenFieldName.

+ +

Decode Behavior

+ + + + +

Encode Behavior

+ + + +
+ +

To support entering flows that are defined by both a defining + document id and a flow id, add a component attribute to this + component whose name is given by the value of the symbolic + constant + jakarta.faces.event.ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME, + and whose value is the defining document id. For example, when + using this component in a facelet page, the following markup + would cause such an attribute to be added.

+ +
<h:commandLink id="start_a" value="enter flow-a" action="flow-a">
+  <f:attribute name="to-flow-document-id" value="unique"/>
+</h:commandLink>
+
+ +
+ +]]>
+ jakarta.faces.Command + jakarta.faces.Link + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + The character encoding of the resource designated + by this hyperlink. + + Character Set + + charset + java.lang.String + + true + + + + + The position and shape of the hot spot on the screen + (for use in client-side image maps). + + Coordinates + + coords + java.lang.String + + true + + + + + The language code of the resource designated + by this hyperlink. + + Language + + hreflang + java.lang.String + + true + + + + + The relationship from the current document + to the anchor specified by this hyperlink. + The value of this attribute is a space-separated + list of link types. + + Relationship + + rel + java.lang.String + + true + + + + + A reverse link from the anchor specified + by this hyperlink to the current document. + The value of this attribute is a space-separated + list of link types. + + Reverse Link + + rev + java.lang.String + + true + + + + + The shape of the hot spot on the screen + (for use in client-side image maps). Valid + values are: default (entire region); rect + (rectangular region); circle (circular region); + and poly (polygonal region). + + Shape + + shape + java.lang.String + + true + + + + + Name of a frame where the resource + retrieved via this hyperlink is to + be displayed. + + Target Frame + + target + java.lang.String + + false + + + + + The content type of the resource designated + by this hyperlink. + + Content Type + + type + java.lang.String + + true + + + + + Flag indicating that this element must never + receive focus or be included in a subsequent + submit. + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + false + + action + true + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + true + true + +
+ + +

+ Render a JavaScript function that invokes faces.ajax.request() function. +

+ +

Encode Behavior

+

+ Render an HTML script element. If the value of the "name" attribute does not contain a + period . indicating a namespaced function name, then render JavaScript var + keyword, followed by a space character. Render the value of the "name" attribute, followed by + JavaScript assignment operator. Render JavaScript function which invokes faces.ajax.request() + with data provided by execute, render, onbegin, + oncomplete, onsuccess and onerror arguments, if any. +

+

+ If the component being rendered has any UIParameter children, each one of them must be + encoded into params object of the options object of the faces.ajax.request() + function. +

+

+ If the rendered JavaScript function is invoked with an object argument, each property must be + encoded into params object of the options object of the faces.ajax.request() + function. This will override any property with the same key. +

+ +

Decode Behavior

+

+ Obtain the Map from the "requestParameterMap" property of the ExternalContext. + If the value in the Map for the value of the "jakarta.faces.source" equals to the "clientId" property of the component, + create a jakarta.faces.event.ActionEvent around the component, and pass it to the queueEvent() method of the component, + which must be an instance of UICommand. +

+ + ]]>
+ jakarta.faces.Command + jakarta.faces.Script + + + + name="functionName". + This can be a namespaced function name, e.g. name="ez.functionName". + ]]> + + name + java.lang.String + + + load event of the window. + Defaults to false. + ]]> + + autorun + boolean + + + @this clientIdOne clientIdTwo. + ]]> + + execute + java.lang.String + + + @this clientIdOne clientIdTwo. + ]]> + + render + java.lang.String + + + render attribute as a space separated list of client identifiers + suitable for passing directly to UIViewRoot.resetValues(). + The implementation must cause an ActionListener to be attached to the ActionSource + component in which this tag is nested that calls UIViewRoot.resetValues() passing the value + of the render attribute as the argument. + ]]> + + resetValues + java.lang.Boolean + + + + The name of the JavaScript function that will handle UI events. + + + onevent + java.lang.String + + + + The name of the JavaScript function that will handle errors. + + + onerror + java.lang.String + + + + false + +
+ + Renders an HTML "table" element + compliant with the HTML 401 specification. Render the "caption" + facet, if present, inside a "caption" element immediately below + the "table" element. If the "captionClass" attribute is + specified, render its value as the value of the "class" attribute + on the "caption" element. If the "captionStyle" attribute is + specified, render its value as the value of the "style" attribute + on the "caption" element.

Please consult the javadoc for + UIData to supplement this specification. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute on the "table" element. Any + ignored-by-renderer attributes are also rendered on the "table" + element.

+ +

Column Groups

+ + + +

Rendering the header

+ + + +

Rendering the footer

+ + + +

Rendering the table body

+ + + +

When done rendering all the rows, set the "rowIndex" property of + the UIData to -1, and close out the "table" + element.

+ ]]>
+ jakarta.faces.Data + jakarta.faces.Table + + + caption + + + header + + + footer + + + colgroups + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Name or code of the background color for this table. + + Background Color + + bgcolor + java.lang.String + + true + + + + + Width (in pixels) of the border to be drawn + around this table. + + Table Border + + border + int + + true + + + + + Definition of how much space the user agent should + leave between the border of each cell and its contents. + + Cell Padding + + cellpadding + java.lang.String + + true + + + + + Definition of how much space the user agent should + leave between the left side of the table and the + leftmost column, the top of the table and the top of + the top side of the topmost row, and so on for the + right and bottom of the table. It also specifies + the amount of space to leave between cells. + + Cell Spacing + + cellspacing + java.lang.String + + true + + + + + Comma-delimited list of CSS style classes that will be applied + to the columns of this table. A space separated list of + classes may also be specified for any individual column. If + the number of elements in this list is less than the number of + actual column children of the UIData, no "class" + attribute is output for each column greater than the number of + elements in the list. If the number of elements in the list + is greater than the number of actual column children of the + UIData, the elements at the posisiton in the list + after the last column are ignored. + + Column CSS Classes + + columnClasses + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any footer generated for this table. + + Footer CSS Classes + + footerClass + java.lang.String + + + + Code specifying which sides of the frame surrounding + this table will be visible. Valid values are: + none (no sides, default value); above (top side only); + below (bottom side only); hsides (top and bottom sides + only); vsides (right and left sides only); lhs (left + hand side only); rhs (right hand side only); box + (all four sides); and border (all four sides). + + Table Frame + + frame + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) that will be + applied to any caption generated for this table. + + Caption CSS Classes + + captionClass + java.lang.String + + + + CSS style(s) to be applied when this caption is rendered. + + Caption CSS Styles + + captionStyle + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any header generated for this table. + + Header CSS Classes + + headerClass + java.lang.String + + + + Comma-delimited list of CSS style classes that will be applied + to the rows of this table. A space separated list of classes + may also be specified for any individual row. Thes styles are + applied, in turn, to each row in the table. For example, if + the list has two elements, the first style class in the list + is applied to the first row, the second to the second row, the + first to the third row, the second to the fourth row, etc. In + other words, we keep iterating through the list until we reach + the end, and then we start at the beginning again. + + Row CSS Classes + + rowClasses + java.lang.String + + + + +

Assigns one or more space-separated CSS class names to each + "tr"

+ + + + ]]>
+ Row CSS Class + + rowClass + java.lang.String +
+ + + Code specifying which rules will appear between cells + within this table. Valid values are: none (no rules, + default value); groups (between row groups); rows + (between rows only); cols (between columns only); and + all (between all rows and columns). + + Table Rules + + rules + java.lang.String + + true + + + + + Summary of this table's purpose and structure, for + user agents rendering to non-visual media such as + speech and Braille. + + Table Summary + + summary + java.lang.String + + true + + + + + Width of the entire table, for visual user agents. + + Table Width + + width + java.lang.String + + true + + + + + Comma separated list of row indices for which a new + "tbody" element should be started (and any + previously opened one should be ended). + + Body Rows + + bodyrows + java.lang.String + + + + Boolean flag directing how the per-row component state should be handled.]]> + Preserve Row Component State + + rowStatePreserved + boolean + + false + + + + true + +
+ + Renders an HTML "form" element.

+ +

Decode Behavior

+ + + + + +

Encode Behavior

+ + + ]]>
+ jakarta.faces.Form + jakarta.faces.Form + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + List of content types that a server processing this form + will handle correctly + + Content Type + + accept + java.lang.String + + true + + + + + List of character encodings for input data + that are accepted by the server processing + this form. + + Character Set + + acceptcharset + java.lang.String + + + + Content type used to submit the form to the server. If not + specified, the default value is + "application/x-www-form-urlencoded". + + Encoding Type + + enctype + java.lang.String + + "application/x-www-form-urlencoded" + true + + + + + Javascript code executed when this form is reset. + + Form Reset Script + + onreset + java.lang.String + + true + + + + + Javascript code executed when this form is submitted. + + Form Submit Script + + onsubmit + java.lang.String + + true + + + + + Name of a frame where the response + retrieved after this form submit is to + be displayed. + + Target Frame + + target + java.lang.String + + true + + + + + true + form + +
+ + Renders an HTML "img" + element. Render the clientId as the value of the "id" + attribute.

+ +
+ +

Handling the Value

+ +
    + +

    If the "name" attribute is present, execute algorithm + Common Algorithm for Obtaining A Resource to Render + to obtain a Resource instance. + Call Resource.getRequestPath() and output the result as the + value of the "src" attribute on the rendered markup.

    + +

    Otherwise, if the "url" attribute is present, treat its value as + if it was the value of the "value" attribute. Otherwise, if the + "value" attribute is present, render the value of the component as + the value of the "src" attribute, after passing it to the + getResourceURL() method of the ViewHandler + for this application, and passing the result through the + encodeResourceURL() method of the + ExternalContext.

    + +

    When handling the "src" attribute, + the value must not be escaped. For example, & must not + be turned into &amp;. If the "styleClass" + attribute is specified, render its value as the value of the "class" + attribute.

    + +
+ +
]]>
+ jakarta.faces.Graphic + jakarta.faces.Image + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Alternate textual description of the + element rendered by this component. + + Alternate Text + + alt + java.lang.String + + true + + + + + Override for the height of this image. + + Image Height + + height + java.lang.String + + true + + + + + Flag indicating that this image is to be used as a server side + image map. Such an image must be enclosed within a hyperlink + ("a"). A value of false causes no attribute to be rendered, + while a value of true causes the attribute to be rendered as + ismap="ismap". + + Image Map Flag + + ismap + boolean + + false + + + + + URI to a long description of the image + represented by this element. + + Long Description + + longdesc + java.lang.String + + true + + + + + The name of a client side image map (an HTML "map" + element) for which this element provides the image. + + Use Image Map + + usemap + java.lang.String + + true + + + + + Override for the width of this image. + + Image Width + + width + java.lang.String + + true + + + + + +

The libraryName for this resource.

]]>
+ Library Name + + library + java.lang.String + + false + true + +
+ + +

The + resourceName for this resource.

]]>
+ Resource Name + + name + java.lang.String + + false + true + +
+ + true + +
+ + This + renderer is intended to be used with an arbitrary markup + element whose decoding needs can be entirely described by + the section "General notes on decoding" in the RenderKit + overview.

+ +
+

The local name of the rendered element must first be + determined for encoding. Look in the components's pass through + attribute map for a value under the key given by the value of the + symbolic constant + Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY. If not found, + throw a FacesException. If found, let this value be + localName.

+ + +

Encode Behavior

+ +

If the component has a manually declared, not auto-generated + clientId, or if the component has behaviors attached to it, render the + clientId as the value of the "id" attribute.

+ +
+ + +]]>
+ jakarta.faces.Panel + jakarta.faces.passthrough.Element + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + false + +
+ + Renders + an HTML "input" element of "type" "file". The standard HTML_BASIC + RenderKit specifies behavior that assumes Servlet 3.0 or later. + Portlet implementations must override this implementation with a + semantically equivalent one that functions under the constraints + of the Portlet specification.

+ +
+ +

Decode Behavior

+ +
    + +

    Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If the + Map contains an entry for the "clientId" of the + component, pass the value of the entry to the + setSubmittedValue() method of the component, which + must be an instance of EditableValueHolder, and + return. Otherwise, obtain the "request" property from the + ExternalContext and cast it to + jakarta.servlet.http.HttpServletRequest. Call + getParts() on the httpServletRequest. Iterate over + the parts. If the "name" property of the current part is equal to + the "clientId", pass the current part to the + setSubmittedValue() method of the component. If an + exception is thrown during the iteration, log the exception and + continue.

    + +

    The standard implementation must override the + getConvertedValue() so that it simply returns the + submittedValue argument.

    + +

    Any exception thrown when interacting with the underlying + multi-part API must be wrapped in a FacesException + and allowed to reach the ExceptionHandler.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the clientId of the component as the value of the + "name" attribute. Do not render the "value" attribute. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute.

    + +

    If ProjectStage is not + ProjectStage.Production, verify that the enclosing + form has an enctype attribute whose value is + multipart/form-data. If not, add a + FacesMessage for this component's clientId to the + FacesContext stating that file upload requires a form + with enctype equal to + multipart/form-data. If ProjectStage + is ProjectStage.Production, do not + do this verification.

    + +
+ +
]]>
+ jakarta.faces.Input + jakarta.faces.File + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Alternate textual description of the + element rendered by this component. + + Alternate Text + + alt + java.lang.String + + true + + + + + If the value of this attribute is "off", render "off" as the value + of the attribute. This indicates that the browser should + disable its autocomplete feature for this component. This is + useful for components that perform autocompletion and do not + want the browser interfering. If this attribute is not set or the value + is "on", render nothing. + + Enable or disable browser autocompletion. + + autocomplete + java.lang.String + + + + The maximum number of characters that may + be entered in this field. + + Maximum Length + + maxlength + int + + true + + + + + The number of characters used to determine + the width of this field. + + Field Width + + size + int + + true + + + + + false + +
+ + Renders an HTML "input" element of type + "hidden".

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.Input + jakarta.faces.Hidden + + + true + +
+ + Renders an HTML "input" element of "type" "password".

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.Input + jakarta.faces.Secret + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Alternate textual description of the + element rendered by this component. + + Alternate Text + + alt + java.lang.String + + true + + + + + If the value of this attribute is "off", render "off" as the value + of the attribute. This indicates that the browser should + disable its autocomplete feature for this component. This is + useful for components that perform autocompletion and do not + want the browser interfering. If this attribute is not set or the value + is "on", render nothing. + + Enable or disable browser autocompletion. + + autocomplete + java.lang.String + + + + The maximum number of characters that may + be entered in this field. + + Maximum Length + + maxlength + int + + true + + + + + The number of characters used to determine + the width of this field. + + Field Width + + size + int + + true + + + + + + + Flag indicating that any existing value + in this field should be rendered when the + form is created. Because this is a potential + security risk, password values are not + displayed by default. + + Redisplay Flag + + redisplay + boolean + + + + true + +
+ + Renders + an HTML "input" element of "type" "text".

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.Input + jakarta.faces.Text + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Alternate textual description of the + element rendered by this component. + + Alternate Text + + alt + java.lang.String + + true + + + + + If the value of this attribute is "off", render "off" as the value + of the attribute. This indicates that the browser should + disable its autocomplete feature for this component. This is + useful for components that perform autocompletion and do not + want the browser interfering. If this attribute is not set or the value + is "on", render nothing. + + Enable or disable browser autocompletion. + + autocomplete + java.lang.String + + + + The maximum number of characters that may + be entered in this field. + + Maximum Length + + maxlength + int + + true + + + + + The number of characters used to determine + the width of this field. + + Field Width + + size + int + + true + + + + + false + +
+ + Renders an HTML "textarea" element.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.Input + jakarta.faces.Textarea + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + The number of columns to be displayed. + + Columns + + cols + int + + true + + + + + The number of rows to be displayed. + + Rows + + rows + int + + true + true + + + + + true + +
+ + Render a single message for a specific component.

+ +

Set-up for Rendering

+ + + +

Rendering

+ + ]]>
+ jakarta.faces.Message + jakarta.faces.Message + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + CSS style class to apply to any message + with a severity class of "ERROR". + + Error Class + + errorClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "ERROR". + + Error Styles + + errorStyle + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "FATAL". + + Fatal Class + + fatalClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "FATAL". + + Fatal Styles + + fatalStyle + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "INFO". + + Info Class + + infoClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "INFO". + + Info Styles + + infoStyle + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "SUCCESS". + + Success Class + + successClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "SUCCESS". + + Success Styles + + successStyle + java.lang.String + + + + Flag indicating whether the detail portion of the + message should be displayed as a tooltip. + + Tooltip + + tooltip + boolean + + + + CSS style class to apply to any message + with a severity class of "WARN". + + Warning Class + + warnClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "WARN". + + Warning Styles + + warnStyle + java.lang.String + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + true + +
+ + The same as for the + Message renderer, but output all the messages. If an "id" attribute has been specified, + it must be rendered on the outermost markup corresponding to this + component. If the value of the "layout" attribute is + "table", render nested "table", "tr", and "td" elements, in that + order. If the value of the "layout" attribute is "list", or the + "layout" attribute is not specified, render nested "ul", "li" + elements, in that order. Output the value of the "style" attribute + as the value of the "style" attribute, output the value of the + "styleClass" attribute as the value of the "class" attribute, and + output the dir and lang attributes. Output these values on the + "table" element or the "ul" element. Output the values of the + "errorStyle", "fatalStyle", "infoStyle", "warnStyle" attributes as + the value of the "style" attribute on either the "tr" element or + the "li" element. Output the values of the "errorClass", + "fatalClass", "infoClass", "warnClass" attributes as the value of + the "class" attribute on either the "tr" element or the "li" + element. The component is a UIMessages, and there is + no "for" attribute. Therefore, use either null to + obtain the messages from the FacesContext or the empty + string if the components "globalOnly" property is + true. If the layout was "table" close out the table + elements, otherwise, close out the list elements.

+ + ]]>
+ jakarta.faces.Messages + jakarta.faces.Messages + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + CSS style class to apply to any message + with a severity class of "ERROR". + + Error Class + + errorClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "ERROR". + + Error Styles + + errorStyle + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "FATAL". + + Fatal Class + + fatalClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "FATAL". + + Fatal Styles + + fatalStyle + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "INFO". + + Info Class + + infoClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "INFO". + + Info Styles + + infoStyle + java.lang.String + + + + The type of layout markup to use when rendering + error messages. Valid values are "table" (an HTML + table) and "list" (an HTML list). If not specified, + the default value is "list". + + Layout + + layout + java.lang.String + + "list" + + + + + Flag indicating whether the detail portion of the + message should be displayed as a tooltip. + + Tooltip + + tooltip + boolean + + + + CSS style class to apply to any message + with a severity class of "WARN". + + Warning Class + + warnClass + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "WARN". + + Warning Styles + + warnStyle + java.lang.String + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + true + +
+ + Render parameterized text. Obtain the + style, styleClass, dir, and + lang attributees from this component. If any are + present, render a "span" element. Output the + styleClass attribute (if present) as the value of the + class attribute. Output the style + attribute as the value of the style attribute. + Output the dir and lang attributes as + ignored-by-renderer attributes. Accrue a list of the values of all child + UIParameter components of this component. If there + are one or more accumulated parameter values, convert the list of + parameter values to an Object array, call + MessageFormat.format(), passing the + value of this component as the first argument, and + the array of parameter values as the second argument, and render + the result. Otherwise, render the value of this + component unmodified.

]]>
+ jakarta.faces.Output + jakarta.faces.Format + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Flag indicating that characters that are sensitive + in HTML and XML markup must be escaped. This flag + is set to "true" by default. + + Escape Characters + + escape + boolean + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + true + +
+ + Renders an HTML + "label" element.

+ +

Render the + current value of the component as label text if it is + specified. If a "for" attribute is specified, find the + component specified by the value of the "for" attribute + via the + SearchExpressionHandler, and render its + client id as the value of the "for" attribute. If + "styleClass" attribute is specified, render its value as the + value of the "class" attribute. +

+ + ]]>
+ jakarta.faces.Output + jakarta.faces.Label + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + Search expression to the component + for which this element is a label.

+ + ]]>
+ Associated component + + for + java.lang.String + + false + +
+ + + Flag indicating that characters that are sensitive + in HTML and XML markup must be escaped. If omitted, this + flag is assumed to be "true". + + Escape Characters + + escape + boolean + + true + true + + + + + true + +
+ + Render an HTML "a" anchor + element. The value of the component is rendered as the + value of the "href" attribute. Any child UIParameter + components whose + disable property is false + are appended to the String to be output as the value of the + "href" attribute as query parameters before rendering. The + entire "href" string must be processed by a call to the + encodeResourceURL() method of the + ExternalContext. The name of the UIParameter + goes on the left hand side, and the value of the UIParameter + on the right hand side. The name and the value must be + URLEncoded. Note that the required url encoding is + handled by + ResponseWrter.writeURIAttribute(). Each + UIParameter instance is separeted by an ampersand, as + dictated in the URL spec. If the "styleClass" attribute is + specified, render its value as the value of the "class" + attribute. If the "id" attribute is specified, follow the + same steps as mentioned in the "General Notes + on Encoding" regarding the "id" attribute for UIInput + components. If the "disabled" attribute is specified, do + not render the HTML "a" anchor element or the "href" + element. Instead, render a "span" element. If the + "styleClass" attribute is specified, render its value as the + value of the "class" attribute on the "span". Render any + ignored-by-renderer attributes on the "span". + +

]]>
+ jakarta.faces.Output + jakarta.faces.Link + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + The character encoding of the resource designated + by this hyperlink. + + Character Set + + charset + java.lang.String + + true + + + + + The position and shape of the hot spot on the screen + (for use in client-side image maps). + + Coordinates + + coords + java.lang.String + + true + + + + + The language code of the resource designated + by this hyperlink. + + Language + + hreflang + java.lang.String + + true + + + + + The relationship from the current document + to the anchor specified by this hyperlink. + The value of this attribute is a space-separated + list of link types. + + Relationship + + rel + java.lang.String + + true + + + + + A reverse link from the anchor specified + by this hyperlink to the current document. + The value of this attribute is a space-separated + list of link types. + + Reverse Link + + rev + java.lang.String + + true + + + + + The shape of the hot spot on the screen + (for use in client-side image maps). Valid + values are: default (entire region); rect + (rectangular region); circle (circular region); + and poly (polygonal region). + + Shape + + shape + java.lang.String + + true + + + + + Name of a frame where the resource + retrieved via this hyperlink is to + be displayed. + + Target Frame + + target + java.lang.String + + false + + + + + The content type of the resource designated + by this hyperlink. + + Content Type + + type + java.lang.String + + true + + + + + Flag indicating that this element must never + receive focus or be included in a subsequent + submit. + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + false + + action + true + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + true + true + +
+ + Render an HTML "a" anchor element. The value of the +component is rendered as the anchor text and the outcome of the +component is used to determine the target URL rendered in the "href" +attribute. Execute the Algorithm +to obtain the URL to which the user-agent should issue a GET request +when clicked.

+ +

Any child UIParameter components +whose disable +property is false are appended to the String to be +output as the value of the "href" attribute as query parameters before +rendering. The entire "href" string must be processed by a call to +the encodeResourceURL() method of the +ExternalContext. The name of the UIParameter +goes on the left hand side, and the value of the +UIParameter on the right hand side. The name and the value +must be URLEncoded. Note that +the required url encoding is handled by +ResponseWrter.writeAttribute(). Each +UIParameter instance is separated by an ampersand, as +dictated in the URL spec. If the "fragment" attribute is specified, the +value will be included at the end of the resulting URL preceded by a +hash mark. If the "styleClass" attribute is specified, render its value +as the value of the "class" attribute.

+ +

If the "id" attribute is specified, follow +the same steps as mentioned in the "General Notes on +Encoding" regarding the "id" attribute for UIInput components. If +the "disabled" attribute is specified, do not render the HTML "a" anchor +element or the "href" element. Instead, render a "span" element. If +the "styleClass" attribute is specified, render its value as the value +of the "class" attribute on the "span". Render any ignored-by-renderer +attributes on the "span".

+ +
+ +

To support entering flows that are defined by both a defining + document id and a flow id, add a component attribute to this + component whose name is given by the value of the symbolic + constant + jakarta.faces.event.ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME, + and whose value is the defining document id. For example, when + using this component in a facelet page, the following markup + would cause such an attribute to be added.

+ +
<h:link id="start_a" value="enter flow-a" outcome="flow-a">
+  <f:attribute name="to-flow-document-id" value="unique"/>
+</h:link>
+
+ +
+ +]]>
+ jakarta.faces.OutcomeTarget + jakarta.faces.Link + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + The character encoding of the resource designated + by this hyperlink. + + Character Set + + charset + java.lang.String + + true + + + + + The position and shape of the hot spot on the screen + (for use in client-side image maps). + + Coordinates + + coords + java.lang.String + + true + + + + + The language code of the resource designated + by this hyperlink. + + Language + + hreflang + java.lang.String + + true + + + + + The relationship from the current document + to the anchor specified by this hyperlink. + The value of this attribute is a space-separated + list of link types. + + Relationship + + rel + java.lang.String + + true + + + + + A reverse link from the anchor specified + by this hyperlink to the current document. + The value of this attribute is a space-separated + list of link types. + + Reverse Link + + rev + java.lang.String + + true + + + + + The shape of the hot spot on the screen + (for use in client-side image maps). Valid + values are: default (entire region); rect + (rectangular region); circle (circular region); + and poly (polygonal region). + + Shape + + shape + java.lang.String + + true + + + + + Name of a frame where the resource + retrieved via this hyperlink is to + be displayed. + + Target Frame + + target + java.lang.String + + false + + + + + The content type of the resource designated + by this hyperlink. + + Content Type + + type + java.lang.String + + true + + + + + Flag indicating that this element must never + receive focus or be included in a subsequent + submit. + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + false + + action + true + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + The identifier of the page fragment which should + be brought into focus when the target page is + rendered. The value of this attribute is appended + to the end of target URL following a hash (#) mark. + This notation is part of the standard URL syntax. + + Fragment Identifier + + fragment + java.lang.String + + + + + Disable appending the ClientWindow on the rendering of this element.

+ ]]>
+ Disable ClientWindow on rendered + OutcomeTarget + + disableClientWindow + java.lang.Boolean + + false + +
+ + + true + true + link + +
+ + Render a button that does not +cause an HTTP POST.

+ +
+ +

Encode Behavior

+ +

Render an HTML "input" element of type "button". The value of the +component is rendered as the button text and the outcome of the +component is used to determine the target URL which is activated by +onclick. If "image" attribute is specified, render it as the value of +the "src" attribute after passing it to the +getResourceURL() method of the ViewHandler for +this application, and passing the result through the +encodeResourceURL() method of the +ExternalContext.

+ +

If the component is not disabled, take the following actions.

+ +

Algorithm to obtain the url to which the user-agent should issue a GET request when clicked

+ +

Obtain the NavigationCase that corresponds to the + component instance for this Renderer.

+ +

Obtain an instance of + jakarta.faces.application.ConfigurableNavigationHandler + from the ViewHandler. If no such instance can be + obtained, write the "disabled" attribute on the button. Otherwise, + let outcome be the result of calling + getOutcome() on the argument component, which must be an + instance of UIOutcomeTarget. If this result is + null, let outcome be the viewId of the current + UIViewRoot. Obtain a + reference to the NavigationCase, called navCase + for discussion. If the component has a non-null + attribute named by the value of the symbolic constant + jakarta.faces.event.ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME, + let navCase be the return from calling + getNavigationCase() on the + ConfigurableNavigationHandler, passing the current + FacesContext as the first argument, null, as + the second argument, outcome as the third argument, and the + value of the TO_FLOW_DOCUMENT_ID_ATTR_NAME attribute as + the fourth argument. Otherwise, let navCase be the return + from calling getNavigationCase() on the + ConfigurableNavigationHandler, passing the current + FacesContext as the first argument, null, as + the second argument, and outcome as the third + argument. If this returns null, log an informative + error which includes the component id, and write the "disabled" + attribute on the component markup, with the value of + true. Otherwise obtain the encoded target URL using the + following algorithm.

+ +

Algorithm to obtain the encoded target URL

+ +
    + +
  • Let params be the Map<String, + List<String>> to be passed to + ViewHandler.getBookmarkableURL(). Build this map up first + from any child UIParameter components. These children must + be processed in the order in which they appear as children. If multiple + children with the same name are encountered, their values must appear in + the List<String> in the Map entry with + the same name, and appear in the list in the same order as their child + order.

  • + +
  • Obtain any parameters included within the + navigation case. Call getParameters() on + navCase. The result will be a Map<String, + List<String>>. If the result is + non-null and non-empty, iterate over the entries + from the result Map and, if no entry with the + same name exists in params, set the value from the + current entry as the value in the params + Map.

  • + +
  • If the navigation case has a + non-null toFlowDocumentId property, add two + parameters as shown in this table.

    + + + + + + + + + + + + + + + + + + + +
    parameter nameparameter value
    value of FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAMEvalue of the toFlowDocumentId property + of the navigation case
    value of FlowHandler.FLOW_ID_REQUEST_PARAM_NAMEvalue of the fromOutcome property + of the navigation case
    + + +
  • + +
  • Let includeViewParams be the result of a + logical OR of the results from calling + isIncludeViewParams() on the argument + UIOutcomeTarget component and calling + isIncludeViewParams on navCase.

  • + + +
  • Call getBookmarkableURL() on the + ViewHandler, passing the current + FacesContext as the first argument, the return + from calling getToViewId() as the second + argument, params as the third argument, and + includeViewParams as the last argument.

  • + +
+ +

The entire target URL string must be processed by a call to + the encodeResourceURL() method of the + ExternalContext. The name of the + UIParameter goes on the left hand side, and the value of + the UIParameter on the right hand side. The name and the + value must be URLEncoded. Each UIParameter instance is + separeted by an ampersand, as dictated in the URL spec. The final + encoded result will be written out to the onclick attribute of the + button as "window.location.href = ''". If the + developer has specified a custom onlclick the window.location.href + name/value pair will be appended at the end of the developer specified + script. If the "fragment" attribute is specified, the value will be + included at the end of the resulting URL preceded by a hash mark. If + the "styleClass" attribute is specified, render its value as the value + of the "class" attribute. If the "id" attribute is specified, follow + the same steps as mentioned in the "General + Notes on Encoding" regarding the "id" attribute for UIInput + components. If the "disabled" attribute is specified, do not render + the "onclick" element and assign the "disabled" attribute a value of + true.

+ +
+ +
+ +

Because this renderer is responsible for rendering its own + children, the renderer will decide if the end tag is required or + not based on the presence or absence of children for the + component.

+ +

To support entering flows that are defined by both a defining + document id and a flow id, add a component attribute to this + component whose name is given by the value of the symbolic + constant + jakarta.faces.event.ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME, + and whose value is the defining document id. For example, when + using this component in a facelet page, the following markup + would cause such an attribute to be added.

+ +
<h:button id="start_a" value="enter flow-a" outcome="flow-a">
+  <f:attribute name="to-flow-document-id" value="unique"/>
+</h:button>
+
+ + + +
+ +]]>
+ jakarta.faces.OutcomeTarget + jakarta.faces.Button + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Alternate textual description of the + element rendered by this component. + + Alternate Text + + alt + java.lang.String + + true + + + + + Absolute or relative URL of the + image to be displayed for this + button. If specified, this + "input" element will be of type + "image". Otherwise, it will be + of the type specified by the + "type" property with a label + specified by the "value" + property. Note + that if the value of this + attribute starts with "/", the + rendered value for this + attribute will be prefixed with + the context-root for this + application. +

]]>
+ Image URL + + image + java.lang.String +
+ + + + + The identifier of the page fragment which should + be brought into focus when the target page is + rendered. The value of this attribute is appended + to the end of target URL following a hash (#) mark. + This notation is part of the standard URL syntax. + + Fragment Identifier + + fragment + java.lang.String + + + + + Disable appending the ClientWindow on the rendering of this element.

+ ]]>
+ Disable ClientWindow on rendered + OutcomeTarget + + disableClientWindow + java.lang.Boolean + + false + +
+ + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + true + true + button + +
+ + If the + "styleClass", "style", "dir" or "lang" attributes are present, + render a "span" element. If the "styleClass" attribute is + present, render its value as the value of the "class" attribute. + If the "style" attribute is present, convey it unmodified. If the + "escape" attribute is not present, or it is present and its value + is "true" all angle brackets should be converted to the ampersand + xx semicolon syntax when rendering the value of the "value" + attribute as the value of the component. If the "escape" + attribute is present and is "false" the value of the component + should be rendered as text without escaping.

+ +

If this element has children, + they must be ignored by default. Implementions may provide a + configuration option that allows this element to render its + children.

]]>
+ jakarta.faces.Output + jakarta.faces.Text + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Flag indicating that characters that are sensitive + in HTML and XML markup must be escaped. This flag + is set to "true" by default. + + Escape Characters + + escape + boolean + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + false + +
+ + UIPanel component inside + of a "tbody" element. Render the children based on the value of + the "columns" attribute, creating a new row each time a "columns" + worth of children have been rendered. For the start of each row, + render a "tr" element. Output the value of the "rowClasses" per + the attribute description below. For each child, output a "td" + element, attaching the value of the "columnClasses" attribute per + the attribute description below. Recursively encode each child. + Close out the "td" element. When done with the row, close out the + "tr" element. If a child has "rendered==false" it is not rendered, + and the column counter must not be incremented.]]> + jakarta.faces.Panel + jakarta.faces.Grid + + + header + + + footer + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Name or code of the background color for this table. + + Background Color + + bgcolor + java.lang.String + + true + + + + + Width (in pixels) of the border to be drawn + around this table. + + Table Border + + border + int + + true + + + + + Definition of how much space the user agent should + leave between the border of each cell and its contents. + + Cell Padding + + cellpadding + java.lang.String + + true + + + + + Definition of how much space the user agent should + leave between the left side of the table and the + leftmost column, the top of the table and the top of + the top side of the topmost row, and so on for the + right and bottom of the table. It also specifies + the amount of space to leave between cells. + + Cell Spacing + + cellspacing + java.lang.String + + true + + + + + Comma-delimited list of CSS style classes that will be applied + to the columns of this table. A space separated list of + classes may also be specified for any individual column. If + the number of elements in this list is less than the number of + actual column children of the UIData, no "class" + attribute is output for each column greater than the number of + elements in the list. If the number of elements in the list + is greater than the number of actual column children of the + UIData, the elements at the posisiton in the list + after the last column are ignored. + + Column CSS Classes + + columnClasses + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any footer generated for this table. + + Footer CSS Classes + + footerClass + java.lang.String + + + + Code specifying which sides of the frame surrounding + this table will be visible. Valid values are: + none (no sides, default value); above (top side only); + below (bottom side only); hsides (top and bottom sides + only); vsides (right and left sides only); lhs (left + hand side only); rhs (right hand side only); box + (all four sides); and border (all four sides). + + Table Frame + + frame + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) that will be + applied to any caption generated for this table. + + Caption CSS Classes + + captionClass + java.lang.String + + + + CSS style(s) to be applied when this caption is rendered. + + Caption CSS Styles + + captionStyle + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any header generated for this table. + + Header CSS Classes + + headerClass + java.lang.String + + + + Comma-delimited list of CSS style classes that will be applied + to the rows of this table. A space separated list of classes + may also be specified for any individual row. Thes styles are + applied, in turn, to each row in the table. For example, if + the list has two elements, the first style class in the list + is applied to the first row, the second to the second row, the + first to the third row, the second to the fourth row, etc. In + other words, we keep iterating through the list until we reach + the end, and then we start at the beginning again. + + Row CSS Classes + + rowClasses + java.lang.String + + + + +

Assigns one or more space-separated CSS class names to each + "tr"

+ + + + ]]>
+ Row CSS Class + + rowClass + java.lang.String +
+ + + Code specifying which rules will appear between cells + within this table. Valid values are: none (no rules, + default value); groups (between row groups); rows + (between rows only); cols (between columns only); and + all (between all rows and columns). + + Table Rules + + rules + java.lang.String + + true + + + + + Summary of this table's purpose and structure, for + user agents rendering to non-visual media such as + speech and Braille. + + Table Summary + + summary + java.lang.String + + true + + + + + Width of the entire table, for visual user agents. + + Table Width + + width + java.lang.String + + true + + + + + Comma separated list of row indices for which a new + "tbody" element should be started (and any + previously opened one should be ended). + + Body Rows + + bodyrows + java.lang.String + + + + + + The number of columns to render before + starting a new row. + + Columns + + columns + int + + + + true + +
+ + Intended for use in situations when only one + UIComponent child can be nested, such as in the case of facets. + If the "style" or "styleClass" attributes are present, and the "layout" + attribute is present with a value of "block", render a "div" element, + outputting the value of the "style" attribute as the value of the + "style" attribute and the value of the "styleClass" attribute as the + value of the "class" attribute. Otherwise, if the "layout" attribute + is not present, or the "layout" attribute contains a value other than + "block", render a "span" element, outputting the value of the + "style" attribute as the value of the "style" attribute, and the value + of the "styleClass" attribute as the value of the "class" + attribute. + jakarta.faces.Panel + jakarta.faces.Group + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" property on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + The type of layout markup to use when rendering this group. + If the value is "block" the renderer must produce an HTML + "div" element. Otherwise HTML "span" element must + be produced. + + Layout + + layout + java.lang.String + + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + true + + + + Renders an HTML "input" element of type "checkbox".

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.SelectBoolean + jakarta.faces.Checkbox + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + true + +
+ + Render an HTML checkbox + list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.SelectMany + jakarta.faces.Checkbox + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Width (in pixels) of the border to be drawn + around the table containing the options list. + + Table Border + + border + int + + true + + + + + CSS style class to apply to the rendered label + on disabled options. + + Disabled Label Class + + disabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + Enabled Label Class + + enabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on selected options. + + Selected Label Class + + selectedClass + java.lang.String + + + + CSS style class to apply to the rendered label + on unselected options. + + Unselected Label Class + + unselectedClass + java.lang.String + + + + Orientation of the options list to be created. + Valid values are "pageDirection" (list is laid + out vertically), or "lineDirection" (list is + laid out horizontally). If not specified, the + default value is "lineDirection". + + Layout + + layout + java.lang.String + + + + + Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + java.util.Collection, or an EL expression that + evaluates to either 1. such a String, or 2. the + Class object itself.

]]>
+ Collection Type + + collectionType + java.lang.String + + false + +
+ + + Flag indicating that, if this component is activated by the user, + The "no selection option", if any, must be hidden.

]]>
+ Hide "No Selection" Option + + hideNoSelectionOption + boolean + + true + +
+ + + true + +
+ + Render an HTML option list.

+ +

Decode Behavior

+ +

This section documents the decode behavior for all renderers + that handle UISelectMany or UISelectOne + components.

+ +
+ +

If the collection type of the collection that provides the + value of this component is not one of the types handled by a + converter in the package jakarta.faces.convert, a + converter must explicitly be specified using the appropriate code + in the VDL. For example, use <f:converter> in + JSP or Facelet pages.

+ +
+ + + ]]>
+ jakarta.faces.SelectMany + jakarta.faces.Listbox + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + CSS style class to apply to the rendered label + on disabled options. + + Disabled Label Class + + disabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + Enabled Label Class + + enabledClass + java.lang.String + + + + Number of available options to be shown at all times. + If not specified, all available options are shown. + + Size + + size + int + + + + + Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + java.util.Collection, or an EL expression that + evaluates to either 1. such a String, or 2. the + Class object itself.

]]>
+ Collection Type + + collectionType + java.lang.String + + false + +
+ + + Flag indicating that, if this component is activated by the user, + The "no selection option", if any, must be hidden.

]]>
+ Hide "No Selection" Option + + hideNoSelectionOption + boolean + + true + +
+ + + true + +
+ + Render an HTML option + list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.SelectMany + jakarta.faces.Menu + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + CSS style class to apply to the rendered label + on disabled options. + + Disabled Label Class + + disabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + Enabled Label Class + + enabledClass + java.lang.String + + + + + Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + java.util.Collection, or an EL expression that + evaluates to either 1. such a String, or 2. the + Class object itself.

]]>
+ Collection Type + + collectionType + java.lang.String + + false + +
+ + + Flag indicating that, if this component is activated by the user, + The "no selection option", if any, must be hidden.

]]>
+ Hide "No Selection" Option + + hideNoSelectionOption + boolean + + true + +
+ + + true + +
+ + Render an HTML option list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.SelectOne + jakarta.faces.Listbox + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + CSS style class to apply to the rendered label + on disabled options. + + Disabled Label Class + + disabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + Enabled Label Class + + enabledClass + java.lang.String + + + + Number of available options to be shown at all times. + If not specified, all available options are shown. + + Size + + size + int + + + + + + Flag indicating that, if this component is activated by the user, + The "no selection option", if any, must be hidden.

]]>
+ Hide "No Selection" Option + + hideNoSelectionOption + boolean + + true + +
+ + + true + +
+ + Render an HTML option list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.SelectOne + jakarta.faces.Menu + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + CSS style class to apply to the rendered label + on disabled options. + + Disabled Label Class + + disabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + Enabled Label Class + + enabledClass + java.lang.String + + + + + + Flag indicating that, if this component is activated by the user, + The "no selection option", if any, must be hidden.

]]>
+ Hide "No Selection" Option + + hideNoSelectionOption + boolean + + true + +
+ + + true + +
+ + Render a set of html + "input" elements of type "radio".

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + ]]>
+ jakarta.faces.SelectOne + jakarta.faces.Radio + + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + + Access key that, when pressed, transfers focus + to this element. + + Access Key + + accesskey + java.lang.String + + true + + + + + Javascript code executed when this element loses focus. + + Focus Off Script + + onblur + java.lang.String + + true + + + + + + Javascript code executed when this element receives focus. + + Focus On Script + + onfocus + java.lang.String + + true + + + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + Tab Index + + tabindex + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + Disabled Flag + + disabled + boolean + + false + + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + Input Change Script + + onchange + java.lang.String + + false + + valueChange + true + + + + + Javascript code executed when text within this + element is selected by the user. + + Text Select Script + + onselect + java.lang.String + + true + + + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + Read Only Flag + + readonly + boolean + + false + + + + + A localized user presentable name for this component. + + Label + + label + java.lang.String + + true + + + + + + + Flag indicating that, if this component is activated by the user, + The "no selection option", if any, must be hidden.

]]>
+ Hide "No Selection" Option + + hideNoSelectionOption + boolean + + true + +
+ + + + + Width (in pixels) of the border to be drawn + around the table containing the options list. + This attribute is ignored when "group" attribute is specified. + + Table Border + + border + int + + true + + + + + CSS style class to apply to the rendered label + on disabled options. + This attribute is ignored when "group" attribute is specified. + + Disabled Label Class + + disabledClass + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + This attribute is ignored when "group" attribute is specified. + + Enabled Label Class + + enabledClass + java.lang.String + + + + Orientation of the options list to be created. + Valid values are "pageDirection" (list is laid + out vertically), or "lineDirection" (list is + laid out horizontally). If not specified, the + default value is "lineDirection". + This attribute is ignored when "group" attribute is specified. + + Layout + + layout + java.lang.String + + + UIForm parent will uncheck + all others when being checked. If the value attribute is + absent then the one from first component of the group will be used. If + the UISelectItem child is absent then the one from first + component of the group will be used. When specified, the + group attribute disables the default rendering of the + "table" element and any attribute related to the rendering of the + "table" element, such as "border", is ignored. + ]]> + Group + + group + java.lang.String + + + + true + +
+ + + +

Renders a composite component.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + + + + +]]>
+ jakarta.faces.NamingContainer + jakarta.faces.Composite + + + true + +
+ + + +

Renders a facet at +this particular point in the composite component VDL page.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +

encodeBegin() and encodeEnd() must take no +action for this renderer. Due to the specification of the +<composite:insertChildren> tag handler, the component +passed to the encodeChildern() method of this renderer will +be the component with component-family +jakarta.faces.Output and renderer-type equal to +the one for this renderer. The implementation of +encodeChildren(), must obtain the component attribute value +under the key given by the value of the symbolic constant +UIComponent.FACETS_KEY from the attributes map of the +argument component. If not found, throw IOException. This +value is referred to as "facetName" for discission. Find the closest +ancestor composite component in which the argument component is nested. +If no such component can be found, thow IOException. +Otherwise, get the facet whose name is "facetName". If found call +encodeAll() on the facet.

+ + + +]]>
+ jakarta.faces.Output + jakarta.faces.CompositeFacet + + + true + +
+ + Render the markup for a + <script> element that renders the script + Resource specified by the optional + name attribute and library + attributes.

+ +

The implementation of this renderer must +have a @ListenerFor +annotation attached to it, at the class level, declaring PostAddToViewEvent.class +as the value of the systemEventClass attribute. The +presence of this annotation on a renderer implies the renderer +implements ComponentSystemEventListener, +which this renderer must do. The implementation of +processEvent() must extract the UIComponent +from the argument event and look for the presence of the key +"target" in the component's attribute Map. If +and only if such a key is present, the implementation of +processEvent() must pass the component to UIViewRoot.addComponentResource().

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + + + +]]>
+ jakarta.faces.Output + jakarta.faces.resource.Script + + + +

The libraryName for this resource.

]]>
+ Library Name + + library + java.lang.String + + false + true + +
+ + +

The + resourceName for this resource.

+
+

+ This attribute is required if the script is NOT inline. +

+
]]>
+ Resource Name + + name + java.lang.String + + false + true + +
+ +

The + target area for which this resource will be + rendered. For example, target="head" would + cause the resource to be rendered within the + head element. If no value is + specififed, the script element is rendered at the + same point in the view where the tag is + located. Currently + supported values for this attribute are "head", + "body", and "form".

]]>
+ Target + + target + java.lang.String + + false + true + +
+ + true + +
+ + Render the markup for a +<link> element that renders the style +Resource specified by the optional name and +library attributes.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ + + +]]>
+ jakarta.faces.Output + jakarta.faces.resource.Stylesheet + + + +

The libraryName for this resource.

]]>
+ Library Name + + library + java.lang.String + + false + true + +
+ + +

The + resourceName for this resource.

+
+

+ This attribute is required if the stylesheet is NOT inline. +

+
+ ]]>
+ Resource Name + + name + java.lang.String + + false + true + +
+ +

The + media type for this stylesheet. For + example, media="screen" would cause the + resource to be rendered with the media + attribute of the link set to + screen.

]]>
+ Media + + media + java.lang.String + + false + true + +
+ + true + +
+ + + +

Render the markup for +a <!DOCTYPE> declaration.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +

Output an XML Doctype using the provided attributes. Output the +literal text <!DOCTYPE. The "rootElement" attribute is +required and must be rendered next. If the "public" attribute is +defined, render the literal text PUBLIC then render the +value of the attribute inside double quotes. If the "system" attribute +is defined, render it next, inside double quotes. Close the doctype +declaration with the literal text >.

+ +
+ +

No relocation occurs with the output of this component. It is +rendered at whatever position in the view hierarchy it happens to be +encountered when traversing the view to render. Therefore, this +component must be located in the view hierarchy at the correct location +so that the final rendered markup has it in the proper place with +respect to the user agent that consumes the rendered markup. In practice +this means in front of the <html> or <h:html> element. +Furthermore, if multiple <h:doctype> components exist, +all of them will be rendered.

+ +

If this component is present in a view, any DOCTYPE that would +otherwise have been rendered by virtue of being present in the VDL page +must be ignored.

+ +
+ + +]]>
+ jakarta.faces.Output + jakarta.faces.Doctype + + + + + The root XML element + ]]> + Root XML element + + rootElement + java.lang.String + + true + true + + + + + Will be output as the public part of the DOCTYPE + ]]> + The public part of the DOCTYPE + + public + java.lang.String + + true + false + + + + + Will be output as the system part of the DOCTYPE + ]]> + The system part of the DOCTYPE + + system + java.lang.String + + true + false + + + + + doctype + +
+ + Render the markup for a +<head> element.

+ +
+ +

Decode Behavior

+ +
    + +

    No action is required during decode for this renderer.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the starting <head> element tag. Any +attributes declared on the element must be conveyed unmodified to +the rendered output. At some +point before rendering the closing </head> element +tag, render any resources that have been targeted for this "head" +element: +

      +
    • Obtain a UIViewRoot instance.
    • +
    • Obtain a List of component resources targeted for + this "head" element with a call to UIViewRoot.getComponentResources() + with the String "head" as the argument.
    • +
    • Iterate over the returned List of UIComponent instances + and call encodeAll on each UIComponent instance. + +

      Any attributes declared on the element must be conveyed +unmodified to the rendered output.

      + +
    + +
    + +

    Note that due to the cascading nature of CSS files, the order + in which these files have been added to the view must be preserved + when rendering the references to the files within the + <head> element. Also, the end result of the + rendered <head> section must be that any CSS + files referenced due to previous calls to + addComponentResource() do not adversely interfere + with any CSS files manually placed in this section by the page + author.

    + +

    Render the ending </head> element tag.

    + +
    + +
]]>
+ jakarta.faces.Output + jakarta.faces.Head + + + + The + component identifier for this component. This value must be + unique within the closest parent component that is a naming + container.

]]>
+ Component Identifier + + id + java.lang.String +
+ + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + An XML Namespace to be passed through to the rendered element + ]]> + XML Namespace + + xmlns + java.lang.String + + true + + + + + head + +
+ + Render the markup for a +<body> element.

+ +
+ +

Decode Behavior

+ +
    + +

    No action is required during decode for this renderer.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the starting <body> element tag. Just before rendering the + closing </body> element tag, render any resources that have been targeted + for this "body" element: +

      +
    • Obtain a UIViewRoot instance.
    • + +
    • Obtain a List of component resources targeted for + this "body" element with a call to + UIViewRoot.getComponentResources() with the + String "body" as the argument. Render the ending + </body> element tag.
    • + +
    • Iterate over the returned List of UIComponent instances + and call encodeAll on each UIComponent instance. +
    + +

    Any attributes declared on the element must be conveyed +unmodified to the rendered output.

    + +
]]>
+ jakarta.faces.Output + jakarta.faces.Body + + + + The + component identifier for this component. This value must be + unique within the closest parent component that is a naming + container.

]]>
+ Component Identifier + + id + java.lang.String +
+ + + + + CSS style(s) to be applied when this component is rendered. + + CSS Styles + + style + java.lang.String + + true + + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + CSS Style Classes + + styleClass + java.lang.String + + false + + + + + Advisory title information about markup elements generated + for this component. + + Advisory Title + + title + java.lang.String + + true + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]>
+ ARIA role + + role + java.lang.String + + true + +
+ + + + + An XML Namespace to be passed through to the rendered element + ]]> + XML Namespace + + xmlns + java.lang.String + + true + + + + + + + Direction indication for text that does not inherit directionality. + Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). + These attributes are case sensitive when rendering to XHTML, so + care must be taken to have the correct case. + + Direction + + dir + java.lang.String + + true + + + + + Code describing the language used in the generated markup + for this component. + + Language Code + + lang + java.lang.String + + true + + + + + + + Javascript code executed when a pointer button is + clicked over this element. + + Button Click Script + + onclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + + Double Click Script + + ondblclick + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + + Mouse Down Script + + onmousedown + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + released over this element. + + Mouse Up Script + + onmouseup + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved onto this element. + + Mouse Over Script + + onmouseover + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved within this element. + + Mouse Move Script + + onmousemove + java.lang.String + + true + + + + + + Javascript code executed when a pointer button is + moved away from this element. + + Mouse Out Script + + onmouseout + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed and released over this element. + + Key Press Script + + onkeypress + java.lang.String + + true + + + + + + Javascript code executed when a key is + pressed down over this element. + + Key Down Script + + onkeydown + java.lang.String + + true + + + + + + Javascript code executed when a key is + released over this element. + + Key Up Script + + onkeyup + java.lang.String + + true + + + + + + + Javascript code executed when the user agent finishes loading + a window or all frames within a frameset. + + Body Onload Script + + onload + java.lang.String + + true + + + + + + Javascript code executed when the user agent removes + a document from a window or frame. + + Body Onunload Script + + onunload + java.lang.String + + true + + + + + body + +
+ + + +

+ Render a JavaScript function that invokes faces.push.init() function. +

+ +

Encode Behavior

+

+ Render an HTML script element with an "id" attribute. + Render JavaScript function which invokes faces.push.init() function with data provided by + onopen, onmessage, onerror, onclose and connected + arguments, if any. +

+ + ]]>
+ jakarta.faces.Script + jakarta.faces.Websocket + + + false + +
+ + diff --git a/api/src/main/resources/META-INF/LICENSE.txt b/api/src/main/resources/META-INF/LICENSE.txt deleted file mode 100644 index 4f38d09342a..00000000000 --- a/api/src/main/resources/META-INF/LICENSE.txt +++ /dev/null @@ -1,637 +0,0 @@ -# Eclipse Public License - v 2.0 - - THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE - PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION - OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - - 1. DEFINITIONS - - "Contribution" means: - - a) in the case of the initial Contributor, the initial content - Distributed under this Agreement, and - - b) in the case of each subsequent Contributor: - i) changes to the Program, and - ii) additions to the Program; - where such changes and/or additions to the Program originate from - and are Distributed by that particular Contributor. A Contribution - "originates" from a Contributor if it was added to the Program by - such Contributor itself or anyone acting on such Contributor's behalf. - Contributions do not include changes or additions to the Program that - are not Modified Works. - - "Contributor" means any person or entity that Distributes the Program. - - "Licensed Patents" mean patent claims licensable by a Contributor which - are necessarily infringed by the use or sale of its Contribution alone - or when combined with the Program. - - "Program" means the Contributions Distributed in accordance with this - Agreement. - - "Recipient" means anyone who receives the Program under this Agreement - or any Secondary License (as applicable), including Contributors. - - "Derivative Works" shall mean any work, whether in Source Code or other - form, that is based on (or derived from) the Program and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. - - "Modified Works" shall mean any work in Source Code or other form that - results from an addition to, deletion from, or modification of the - contents of the Program, including, for purposes of clarity any new file - in Source Code form that contains any contents of the Program. Modified - Works shall not include works that contain only declarations, - interfaces, types, classes, structures, or files of the Program solely - in each case in order to link to, bind by name, or subclass the Program - or Modified Works thereof. - - "Distribute" means the acts of a) distributing or b) making available - in any manner that enables the transfer of a copy. - - "Source Code" means the form of a Program preferred for making - modifications, including but not limited to software source code, - documentation source, and configuration files. - - "Secondary License" means either the GNU General Public License, - Version 2.0, or any later versions of that license, including any - exceptions or additional permissions as identified by the initial - Contributor. - - 2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free copyright - license to reproduce, prepare Derivative Works of, publicly display, - publicly perform, Distribute and sublicense the Contribution of such - Contributor, if any, and such Derivative Works. - - b) Subject to the terms of this Agreement, each Contributor hereby - grants Recipient a non-exclusive, worldwide, royalty-free patent - license under Licensed Patents to make, use, sell, offer to sell, - import and otherwise transfer the Contribution of such Contributor, - if any, in Source Code or other form. This patent license shall - apply to the combination of the Contribution and the Program if, at - the time the Contribution is added by the Contributor, such addition - of the Contribution causes such combination to be covered by the - Licensed Patents. The patent license shall not apply to any other - combinations which include the Contribution. No hardware per se is - licensed hereunder. - - c) Recipient understands that although each Contributor grants the - licenses to its Contributions set forth herein, no assurances are - provided by any Contributor that the Program does not infringe the - patent or other intellectual property rights of any other entity. - Each Contributor disclaims any liability to Recipient for claims - brought by any other entity based on infringement of intellectual - property rights or otherwise. As a condition to exercising the - rights and licenses granted hereunder, each Recipient hereby - assumes sole responsibility to secure any other intellectual - property rights needed, if any. For example, if a third party - patent license is required to allow Recipient to Distribute the - Program, it is Recipient's responsibility to acquire that license - before distributing the Program. - - d) Each Contributor represents that to its knowledge it has - sufficient copyright rights in its Contribution, if any, to grant - the copyright license set forth in this Agreement. - - e) Notwithstanding the terms of any Secondary License, no - Contributor makes additional grants to any Recipient (other than - those set forth in this Agreement) as a result of such Recipient's - receipt of the Program under the terms of a Secondary License - (if permitted under the terms of Section 3). - - 3. REQUIREMENTS - - 3.1 If a Contributor Distributes the Program in any form, then: - - a) the Program must also be made available as Source Code, in - accordance with section 3.2, and the Contributor must accompany - the Program with a statement that the Source Code for the Program - is available under this Agreement, and informs Recipients how to - obtain it in a reasonable manner on or through a medium customarily - used for software exchange; and - - b) the Contributor may Distribute the Program under a license - different than this Agreement, provided that such license: - i) effectively disclaims on behalf of all other Contributors all - warranties and conditions, express and implied, including - warranties or conditions of title and non-infringement, and - implied warranties or conditions of merchantability and fitness - for a particular purpose; - - ii) effectively excludes on behalf of all other Contributors all - liability for damages, including direct, indirect, special, - incidental and consequential damages, such as lost profits; - - iii) does not attempt to limit or alter the recipients' rights - in the Source Code under section 3.2; and - - iv) requires any subsequent distribution of the Program by any - party to be under a license that satisfies the requirements - of this section 3. - - 3.2 When the Program is Distributed as Source Code: - - a) it must be made available under this Agreement, or if the - Program (i) is combined with other material in a separate file or - files made available under a Secondary License, and (ii) the initial - Contributor attached to the Source Code the notice described in - Exhibit A of this Agreement, then the Program may be made available - under the terms of such Secondary Licenses, and - - b) a copy of this Agreement must be included with each copy of - the Program. - - 3.3 Contributors may not remove or alter any copyright, patent, - trademark, attribution notices, disclaimers of warranty, or limitations - of liability ("notices") contained within the Program from any copy of - the Program which they Distribute, provided that Contributors may add - their own appropriate notices. - - 4. COMMERCIAL DISTRIBUTION - - Commercial distributors of software may accept certain responsibilities - with respect to end users, business partners and the like. While this - license is intended to facilitate the commercial use of the Program, - the Contributor who includes the Program in a commercial product - offering should do so in a manner which does not create potential - liability for other Contributors. Therefore, if a Contributor includes - the Program in a commercial product offering, such Contributor - ("Commercial Contributor") hereby agrees to defend and indemnify every - other Contributor ("Indemnified Contributor") against any losses, - damages and costs (collectively "Losses") arising from claims, lawsuits - and other legal actions brought by a third party against the Indemnified - Contributor to the extent caused by the acts or omissions of such - Commercial Contributor in connection with its distribution of the Program - in a commercial product offering. The obligations in this section do not - apply to any claims or Losses relating to any actual or alleged - intellectual property infringement. In order to qualify, an Indemnified - Contributor must: a) promptly notify the Commercial Contributor in - writing of such claim, and b) allow the Commercial Contributor to control, - and cooperate with the Commercial Contributor in, the defense and any - related settlement negotiations. The Indemnified Contributor may - participate in any such claim at its own expense. - - For example, a Contributor might include the Program in a commercial - product offering, Product X. That Contributor is then a Commercial - Contributor. If that Commercial Contributor then makes performance - claims, or offers warranties related to Product X, those performance - claims and warranties are such Commercial Contributor's responsibility - alone. Under this section, the Commercial Contributor would have to - defend claims against the other Contributors related to those performance - claims and warranties, and if a court requires any other Contributor to - pay any damages as a result, the Commercial Contributor must pay - those damages. - - 5. NO WARRANTY - - EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT - PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS" - BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR - IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF - TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR - PURPOSE. Each Recipient is solely responsible for determining the - appropriateness of using and distributing the Program and assumes all - risks associated with its exercise of rights under this Agreement, - including but not limited to the risks and costs of program errors, - compliance with applicable laws, damage to or loss of data, programs - or equipment, and unavailability or interruption of operations. - - 6. DISCLAIMER OF LIABILITY - - EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT - PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS - SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST - PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE - EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. - - 7. GENERAL - - If any provision of this Agreement is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability of - the remainder of the terms of this Agreement, and without further - action by the parties hereto, such provision shall be reformed to the - minimum extent necessary to make such provision valid and enforceable. - - If Recipient institutes patent litigation against any entity - (including a cross-claim or counterclaim in a lawsuit) alleging that the - Program itself (excluding combinations of the Program with other software - or hardware) infringes such Recipient's patent(s), then such Recipient's - rights granted under Section 2(b) shall terminate as of the date such - litigation is filed. - - All Recipient's rights under this Agreement shall terminate if it - fails to comply with any of the material terms or conditions of this - Agreement and does not cure such failure in a reasonable period of - time after becoming aware of such noncompliance. If all Recipient's - rights under this Agreement terminate, Recipient agrees to cease use - and distribution of the Program as soon as reasonably practicable. - However, Recipient's obligations under this Agreement and any licenses - granted by Recipient relating to the Program shall continue and survive. - - Everyone is permitted to copy and distribute copies of this Agreement, - but in order to avoid inconsistency the Agreement is copyrighted and - may only be modified in the following manner. The Agreement Steward - reserves the right to publish new versions (including revisions) of - this Agreement from time to time. No one other than the Agreement - Steward has the right to modify this Agreement. The Eclipse Foundation - is the initial Agreement Steward. The Eclipse Foundation may assign the - responsibility to serve as the Agreement Steward to a suitable separate - entity. Each new version of the Agreement will be given a distinguishing - version number. The Program (including Contributions) may always be - Distributed subject to the version of the Agreement under which it was - received. In addition, after a new version of the Agreement is published, - Contributor may elect to Distribute the Program (including its - Contributions) under the new version. - - Except as expressly stated in Sections 2(a) and 2(b) above, Recipient - receives no rights or licenses to the intellectual property of any - Contributor under this Agreement, whether expressly, by implication, - estoppel or otherwise. All rights in the Program not expressly granted - under this Agreement are reserved. Nothing in this Agreement is intended - to be enforceable by any entity that is not a Contributor or Recipient. - No third-party beneficiary rights are created under this Agreement. - - Exhibit A - Form of Secondary Licenses Notice - - "This Source Code may also be made available under the following - Secondary Licenses when the conditions for such availability set forth - in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), - version(s), and exceptions or additional permissions here}." - - Simply including a copy of this Agreement, including this Exhibit A - is not sufficient to license the Source Code under Secondary Licenses. - - If it is not possible or desirable to put the notice in a particular - file, then You may include the notice in a location (such as a LICENSE - file in a relevant directory) where a recipient would be likely to - look for such a notice. - - You may add additional accurate notices of copyright ownership. - ---- - -## The GNU General Public License (GPL) Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor - Boston, MA 02110-1335 - USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your freedom to - share and change it. By contrast, the GNU General Public License is - intended to guarantee your freedom to share and change free software--to - make sure the software is free for all its users. This General Public - License applies to most of the Free Software Foundation's software and - to any other program whose authors commit to using it. (Some other Free - Software Foundation software is covered by the GNU Library General - Public License instead.) You can apply it to your programs, too. - - When we speak of free software, we are referring to freedom, not price. - Our General Public Licenses are designed to make sure that you have the - freedom to distribute copies of free software (and charge for this - service if you wish), that you receive source code or can get it if you - want it, that you can change the software or use pieces of it in new - free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid anyone - to deny you these rights or to ask you to surrender the rights. These - restrictions translate to certain responsibilities for you if you - distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether gratis - or for a fee, you must give the recipients all the rights that you have. - You must make sure that they, too, receive or can get the source code. - And you must show them these terms so they know their rights. - - We protect your rights with two steps: (1) copyright the software, and - (2) offer you this license which gives you legal permission to copy, - distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain - that everyone understands that there is no warranty for this free - software. If the software is modified by someone else and passed on, we - want its recipients to know that what they have is not the original, so - that any problems introduced by others will not reflect on the original - authors' reputations. - - Finally, any free program is threatened constantly by software patents. - We wish to avoid the danger that redistributors of a free program will - individually obtain patent licenses, in effect making the program - proprietary. To prevent this, we have made it clear that any patent must - be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and - modification follow. - - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains a - notice placed by the copyright holder saying it may be distributed under - the terms of this General Public License. The "Program", below, refers - to any such program or work, and a "work based on the Program" means - either the Program or any derivative work under copyright law: that is - to say, a work containing the Program or a portion of it, either - verbatim or with modifications and/or translated into another language. - (Hereinafter, translation is included without limitation in the term - "modification".) Each licensee is addressed as "you". - - Activities other than copying, distribution and modification are not - covered by this License; they are outside its scope. The act of running - the Program is not restricted, and the output from the Program is - covered only if its contents constitute a work based on the Program - (independent of having been made by running the Program). Whether that - is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's source - code as you receive it, in any medium, provided that you conspicuously - and appropriately publish on each copy an appropriate copyright notice - and disclaimer of warranty; keep intact all the notices that refer to - this License and to the absence of any warranty; and give any other - recipients of the Program a copy of this License along with the Program. - - You may charge a fee for the physical act of transferring a copy, and - you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion of - it, thus forming a work based on the Program, and copy and distribute - such modifications or work under the terms of Section 1 above, provided - that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any part - thereof, to be licensed as a whole at no charge to all third parties - under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a notice - that there is no warranty (or else, saying that you provide a - warranty) and that users may redistribute the program under these - conditions, and telling the user how to view a copy of this License. - (Exception: if the Program itself is interactive but does not - normally print such an announcement, your work based on the Program - is not required to print an announcement.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Program, and - can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based on - the Program, the distribution of the whole must be on the terms of this - License, whose permissions for other licensees extend to the entire - whole, and thus to each and every part regardless of who wrote it. - - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Program. - - In addition, mere aggregation of another work not based on the Program - with the Program (or with a work based on the Program) on a volume of a - storage or distribution medium does not bring the other work under the - scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, - under Section 2) in object code or executable form under the terms of - Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections 1 - and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your cost - of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed - only for noncommercial distribution and only if you received the - program in object code or executable form with such an offer, in - accord with Subsection b above.) - - The source code for a work means the preferred form of the work for - making modifications to it. For an executable work, complete source code - means all the source code for all modules it contains, plus any - associated interface definition files, plus the scripts used to control - compilation and installation of the executable. However, as a special - exception, the source code distributed need not include anything that is - normally distributed (in either source or binary form) with the major - components (compiler, kernel, and so on) of the operating system on - which the executable runs, unless that component itself accompanies the - executable. - - If distribution of executable or object code is made by offering access - to copy from a designated place, then offering equivalent access to copy - the source code from the same place counts as distribution of the source - code, even though third parties are not compelled to copy the source - along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program - except as expressly provided under this License. Any attempt otherwise - to copy, modify, sublicense or distribute the Program is void, and will - automatically terminate your rights under this License. However, parties - who have received copies, or rights, from you under this License will - not have their licenses terminated so long as such parties remain in - full compliance. - - 5. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify or - distribute the Program or its derivative works. These actions are - prohibited by law if you do not accept this License. Therefore, by - modifying or distributing the Program (or any work based on the - Program), you indicate your acceptance of this License to do so, and all - its terms and conditions for copying, distributing or modifying the - Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the - Program), the recipient automatically receives a license from the - original licensor to copy, distribute or modify the Program subject to - these terms and conditions. You may not impose any further restrictions - on the recipients' exercise of the rights granted herein. You are not - responsible for enforcing compliance by third parties to this License. - - 7. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent issues), - conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot distribute - so as to satisfy simultaneously your obligations under this License and - any other pertinent obligations, then as a consequence you may not - distribute the Program at all. For example, if a patent license would - not permit royalty-free redistribution of the Program by all those who - receive copies directly or indirectly through you, then the only way you - could satisfy both it and this License would be to refrain entirely from - distribution of the Program. - - If any portion of this section is held invalid or unenforceable under - any particular circumstance, the balance of the section is intended to - apply and the section as a whole is intended to apply in other - circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of any - such claims; this section has the sole purpose of protecting the - integrity of the free software distribution system, which is implemented - by public license practices. Many people have made generous - contributions to the wide range of software distributed through that - system in reliance on consistent application of that system; it is up to - the author/donor to decide if he or she is willing to distribute - software through any other system and a licensee cannot impose that choice. - - This section is intended to make thoroughly clear what is believed to be - a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in - certain countries either by patents or by copyrighted interfaces, the - original copyright holder who places the Program under this License may - add an explicit geographical distribution limitation excluding those - countries, so that distribution is permitted only in or among countries - not thus excluded. In such case, this License incorporates the - limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new - versions of the General Public License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the Program - specifies a version number of this License which applies to it and "any - later version", you have the option of following the terms and - conditions either of that version or of any later version published by - the Free Software Foundation. If the Program does not specify a version - number of this License, you may choose any version ever published by the - Free Software Foundation. - - 10. If you wish to incorporate parts of the Program into other free - programs whose distribution conditions are different, write to the - author to ask for permission. For software which is copyrighted by the - Free Software Foundation, write to the Free Software Foundation; we - sometimes make exceptions for this. Our decision will be guided by the - two goals of preserving the free status of all derivatives of our free - software and of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. - EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR - OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, - EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE - ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH - YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL - NECESSARY SERVICING, REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY - AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR - DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL - DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM - (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED - INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF - THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR - OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest - possible use to the public, the best way to achieve this is to make it - free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest to - attach them to the start of each source file to most effectively convey - the exclusion of warranty; and each file should have at least the - "copyright" line and a pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA - - Also add information on how to contact you by electronic and paper mail. - - If the program is interactive, make it output a short notice like this - when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type - `show w'. This is free software, and you are welcome to redistribute - it under certain conditions; type `show c' for details. - - The hypothetical commands `show w' and `show c' should show the - appropriate parts of the General Public License. Of course, the commands - you use may be called something other than `show w' and `show c'; they - could even be mouse-clicks or menu items--whatever suits your program. - - You should also get your employer (if you work as a programmer) or your - school, if any, to sign a "copyright disclaimer" for the program, if - necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - program `Gnomovision' (which makes passes at compilers) written by - James Hacker. - - signature of Ty Coon, 1 April 1989 - Ty Coon, President of Vice - - This General Public License does not permit incorporating your program - into proprietary programs. If your program is a subroutine library, you - may consider it more useful to permit linking proprietary applications - with the library. If this is what you want to do, use the GNU Library - General Public License instead of this License. - ---- - -## CLASSPATH EXCEPTION - - Linking this library statically or dynamically with other modules is - making a combined work based on this library. Thus, the terms and - conditions of the GNU General Public License version 2 cover the whole - combination. - - As a special exception, the copyright holders of this library give you - permission to link this library with independent modules to produce an - executable, regardless of the license terms of these independent - modules, and to copy and distribute the resulting executable under - terms of your choice, provided that you also meet, for each linked - independent module, the terms and conditions of the license of that - module. An independent module is a module which is not derived from or - based on this library. If you modify this library, you may extend this - exception to your version of the library, but you are not obligated to - do so. If you do not wish to do so, delete this exception statement - from your version. diff --git a/api/src/main/resources/META-INF/MANIFEST.MF b/api/src/main/resources/META-INF/MANIFEST.MF deleted file mode 100644 index 7caed0a0062..00000000000 --- a/api/src/main/resources/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Created-By: Maven Source Plugin 3.2.1 - diff --git a/api/src/main/resources/jakarta/faces/jakartaee_web_services_client_2_0.xsd b/api/src/main/resources/jakarta/faces/jakartaee_web_services_client_2_0.xsd deleted file mode 100644 index 72e0435439d..00000000000 --- a/api/src/main/resources/jakarta/faces/jakartaee_web_services_client_2_0.xsd +++ /dev/null @@ -1,714 +0,0 @@ - - - - - - Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved. - - This program and the accompanying materials are made available under the - terms of the Eclipse Public License v. 2.0, which is available at - http://www.eclipse.org/legal/epl-2.0. - - This Source Code may also be made available under the following Secondary - Licenses when the conditions for such availability set forth in the - Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - version 2 with the GNU Classpath Exception, which is available at - https://www.gnu.org/software/classpath/license.html. - - SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - - - - - - - - (C) Copyright International Business Machines Corporation 2002 - - - - - - - - - - - - The service-ref element declares a reference to a Web - service. It contains optional description, display name and - icons, a declaration of the required Service interface, - an optional WSDL document location, an optional set - of Jakarta XML RPC mappings, an optional QName for the service element, - an optional set of Service Endpoint Interfaces to be resolved - by the container to a WSDL port, and an optional set of handlers. - - - - - - - - - - The service-ref-name element declares logical name that the - components in the module use to look up the Web service. It - is recommended that all service reference names start with - "service/". - - - - - - - - - The service-interface element declares the fully qualified class - name of the Jakarta XML RPC Service interface the client depends on. - In most cases the value will be jakarta.xml.rpc.Service. A Jakarta XML - RPC generated Service Interface class may also be specified. - - - - - - - - - The service-ref-type element declares the type of the service-ref - element that is injected or returned when a JNDI lookup is done. - This must be either a fully qualified name of Service class or - the fully qualified name of service endpoint interface class. - This is only used with Jakarta XML Web Services runtime where - the corresponding @WebServiceRef annotation can be used to denote both - a Service or a Port. - - If this is not specified, then the type of service-ref element - that is injected or returned when a JNDI lookup is done is - always a Service interface/class. - - - - - - - - - The wsdl-file element contains the URI location of a WSDL - file. The location is relative to the root of the module. - - - - - - - - - The jaxrpc-mapping-file element contains the name of a file that - describes the Jakarta XML RPC mapping between the Java interaces used by - the application and the WSDL description in the wsdl-file. The - file name is a relative path within the module file. - - This is not required when Jakarta Enterprise Web Services based - runtime is used. - - - - - - - - - The service-qname element declares the specific WSDL service - element that is being refered to. It is not specified if no - wsdl-file is declared. - - - - - - - - - The port-component-ref element declares a client dependency - on the container for resolving a Service Endpoint Interface - to a WSDL port. It optionally associates the Service Endpoint - Interface with a particular port-component. This is only used - by the container for a Service.getPort(Class) method call. - - - - - - - - - - Declares the handler for a port-component. Handlers can - access the init-param name/value pairs using the - HandlerInfo interface. If port-name is not specified, the - handler is assumed to be associated with all ports of the - service. - - To be used with Jakarta XML RPC based runtime only. - - - - - - - - - To be used with Jakarta XML Web Services based runtime only. - - - - - - - - - - - - - - - - - - The port-component-ref element declares a client dependency - on the container for resolving a Service Endpoint Interface - to a WSDL port. It optionally associates the Service Endpoint - Interface with a particular port-component. This is only used - by the container for a Service.getPort(Class) method call. - - - - - - - - - The service-endpoint-interface element defines a fully qualified - Java class that represents the Service Endpoint Interface of a - WSDL port. - - - - - - - - - Used to enable or disable SOAP MTOM/XOP mechanism on the client - side for a port-component. - - Not to be specified for Jakarta XML RPC runtime - - - - - - - - - When MTOM is enabled, binary data above this size in bytes - should be XOP encoded or sent as attachment. Default value is 0. - - Not to be specified for Jakarta XML RPC runtime - - - - - - - - - This specifies the WS-Addressing requirements for a Jakarta XML - web service. It corresponds to jakarta.xml.ws.soap.Addressing - annotation or its feature jakarta.xml.ws.soap.AddressingFeature. - - See the addressingType for more information. - - Not to be specified for Jakarta XML RPC runtime - - - - - - - - - Corresponds to the jakarta.xml.ws.RespectBinding annotation - or its corresponding jakarta.xml.ws.RespectBindingFeature web - service feature. This is used to control whether a Jakarta XML Web - Services implementation must respect/honor the contents of the - wsdl:binding in the WSDL that is associated with the service. - - Not to be specified for Jakarta XML RPC runtime - - - - - - - - - The port-component-link element links a port-component-ref - to a specific port-component required to be made available - by a service reference. - - The value of a port-component-link must be the - port-component-name of a port-component in the same module - or another module in the same application unit. The syntax - for specification follows the syntax defined for ejb-link - in the EJB 2.0 specification. - - - - - - - - - - - - - - - - The handler-chains element defines the handlerchains associated with this - service or service endpoint. - - - - - - - - - - - - - - - - - The handler-chain element defines the handlerchain. - Handlerchain can be defined such that the handlers in the - handlerchain operate,all ports of a service, on a specific - port or on a list of protocol-bindings. The choice of elements - service-name-pattern, port-name-pattern and protocol-bindings - are used to specify whether the handlers in handler-chain are - for a service, port or protocol binding. If none of these - choices are specified with the handler-chain element then the - handlers specified in the handler-chain will be applied on - everything. - - - - - - - - - - - - - - - - - - - Defines the type used for specifying a list of - protocol-bindingType(s). For e.g. - - ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP - - - - - - - - - - - Defines the type used for specifying the URI for the - protocol binding used by the port-component. For - portability one could use one of the following tokens that - alias the standard binding types: - - ##SOAP11_HTTP - ##SOAP11_HTTP_MTOM - ##SOAP12_HTTP - ##SOAP12_HTTP_MTOM - ##XML_HTTP - - Other specifications could define tokens that start with ## - to alias new standard binding URIs that are introduced. - - - - - - - - - - - Defines the type that is used for specifying tokens that - start with ## which are used to alias existing standard - protocol bindings and support aliases for new standard - binding URIs that are introduced in future specifications. - - The following tokens alias the standard protocol binding - URIs: - - ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http" - ##SOAP11_HTTP_MTOM = - "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true" - ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/" - ##SOAP12_HTTP_MTOM = - "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true" - ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http" - - - - - - - - - - - - - This is used to specify the QName pattern in the - attribute service-name-pattern and port-name-pattern in - the handler-chain element - - For example, the various forms acceptable here for - service-name-pattern attribute in handler-chain element - are : - - Exact Name: service-name-pattern="ns1:EchoService" - - In this case, handlers specified in this - handler-chain element will apply to all ports with - this exact service name. The namespace prefix must - have been declared in a namespace declaration - attribute in either the start-tag of the element - where the prefix is used or in an an ancestor - element (i.e. an element in whose content the - prefixed markup occurs) - - - Pattern : service-name-pattern="ns1:EchoService*" - - In this case, handlers specified in this - handler-chain element will apply to all ports whose - Service names are like EchoService1, EchoServiceFoo - etc. The namespace prefix must have been declared in - a namespace declaration attribute in either the - start-tag of the element where the prefix is used or - in an an ancestor element (i.e. an element in whose - content the prefixed markup occurs) - - Wild Card : service-name-pattern="*" - - In this case, handlers specified in this handler-chain - element will apply to ports of all service names. - - The same can be applied to port-name attribute in - handler-chain element. - - - - - - - - - - - - - - - - This specifies the WS-Addressing requirements for a Jakarta XML web - service. It corresponds to jakarta.xml.ws.soap.Addressing annotation or its - feature jakarta.xml.ws.soap.AddressingFeature. - - If the "enabled" element is "true", WS-Addressing is enabled. - It means that the endpoint supports WS-Addressing but does not require - its use. The default value for "enabled" is "true". - - If the WS-Addressing is enabled and the "required" element is "true", - it means that the endpoint requires WS-Addressing. The default value - for "required" is "false". - - If WS-Addressing is enabled, the "responses" element determines - if an endpoint requires the use of only anonymous responses, - or only non-anonymous responses, or all. The value of the "responses" - element must be one of the following: - - ANONYMOUS - NON_ANONYMOUS - ALL - - The default value for the "responses" is ALL. - - - - - - - - - - - - - - - - - - If WS-Addressing is enabled, this type determines if an endpoint - requires the use of only anonymous responses, or only non-anonymous - responses, or all. - - - - - - - - - - - - - - - - - - - - Corresponds to the jakarta.xml.ws.RespectBinding annotation - or its corresponding jakarta.xml.ws.RespectBindingFeature web - service feature. This is used to control whether a Jakarta XML - Web Services implementation must respect/honor the contents of the - wsdl:binding in the WSDL that is associated with the service. - - If the "enabled" element is "true", wsdl:binding in the - associated WSDL, if any, must be respected/honored. - - - - - - - - - - - - - - - - Declares the handler for a port-component, service-ref. Handlers can - access the init-param name/value pairs using the HandlerInfo interface. - - Used in: port-component, service-ref - - - - - - - - - - Defines the name of the handler. The name must be unique within the - module. - - - - - - - - - Defines a fully qualified class name for the handler implementation. - - - - - - - - - Not to be specified for Jakarta XML Web Services runtime - - - - - - - - - Defines the QName of a SOAP header that will be processed by the - handler. - - Not to be specified for Jakarta XML Web Services runtime - - - - - - - - - The soap-role element contains a SOAP actor definition that the - Handler will play as a role. - - - - - - - - - The port-name element defines the WSDL port-name that a - handler should be associated with. If port-name is not - specified, the handler is assumed to be associated with - all ports of the service. - - Not to be specified for Jakarta XML Web Services runtime - - - - - - - - - - - - - - - - Defines the name of the handler. The name must be unique - within the module. - - - - - - - - - - - diff --git a/api/src/main/vdldoc/faces.composite.taglib.xml b/api/src/main/vdldoc/faces.composite.taglib.xml new file mode 100644 index 00000000000..e0c3c76b4d5 --- /dev/null +++ b/api/src/main/vdldoc/faces.composite.taglib.xml @@ -0,0 +1,1431 @@ + + + + + Jakarta Faces Composite Components Tag Library

+ +
+ +

Describes the tag library used for declaring and defining + the usage contract for composite UI Components. When authoring a + composite component, use of this tag library is largely optional, + though always recommended. Declaring and defining a composite + component with this taglib provides valuable information about the + component that can be used by tools and users of the composite + component. In most cases, a composite component can be authored + without declaring and defining its usage contract with this taglib. +

+ + + +

Creating a Composite Component

+ +

A composite component is declared by creating a Facelets file + inside of a resource library. (See section 2.6 "Resource Handling" of the Jakarta Faces Specification Document + for more information about resource + libraries.) A composite component must reside within a resource + library. It is not possible to create a composite component without + putting it inside of a resource library.

+ +

The default XML namespace URI of the taglib that contains the + composite component, for use in the using page, is + jakarta.faces.composite/<composite-library-name>, + where <composite-library-name> is the name of the + resource library. For example:

+ +
<!DOCTYPE html>
+<html xmlns:ui="jakarta.faces.facelets"
+      xmlns:f="jakarta.faces.core"
+      xmlns:h="jakarta.faces.html"
+      xmlns:ez="jakarta.faces.composite/ezcomp">
+    ...
+</html>
+ +

This declares that any Facelets file in the resource +library called ezcomp can be used as a regular Faces UI +component in a view with the above namespace declaration by using the +"ez" prefix. For example, placing a file called +foo.xhtml in a resource library called ezcomp +would make that file accessible like this.

+ +
<ez:foo />
+ + +

The implementation must also support declaring the + namespace of the tag library in a Faces VDL tag library descriptor. + This descriptor file is optional and is useful for component vendors + that do not want to use the default XML namespace. This version of + the proposal currently uses the facelet taglib descriptor syntax. For + example:

+ +
<facelet-taglib id="ez">
+    <namespace>http://example.com/path</namespace>
+    <composite-library-name>ezcomp</composite-library-name>
+</facelet-taglib>
+ +

Components from that taglibrary may be used in a using page by + declaring them in the XML namespace for that view:

+ +
<!DOCTYPE html>
+<html xmlns:ui="jakarta.faces.facelets"
+      xmlns:f="jakarta.faces.core"
+      xmlns:h="jakarta.faces.html"
+      xmlns:ez="http://example.com/path">
+    ...
+</html>
+ + +

Below is an example of a fairly + involved composite component declaration. Such a declaration might + appear in foo.xhtml.

+ +
    +
  1. <cc:interface name="foo"
  2. +
  3.               displayName="Very Simple Login Panel"
  4. +
  5.               preferred="true"
  6. +
  7.               expert="false"
  8. +
  9.               shortDescription="An illustration of the composite component feature">
  10. +
  11.   <cc:attribute name="model" required="true">
  12. +
  13.     <cc:attribute name="loginAction" required="true" method-signature="java.lang.Object action()"/ >
  14. +
  15.   </cc:attribute>
  16. +
  17.   <cc:attribute name="valueChangeListener" targets="username" />
  18. +
  19.   <cc:attribute name="specialMethodExpression"
  20. +
  21.                        method-signature="com.foo.User validateCurrentUser()" />
  22. +
  23.   <cc:attribute name="loginButtonLabel" default="Login" />
  24. +
  25.   <cc:editableValueHolder name="username" />
  26. +
  27.   <cc:actionSource name="loginEvent" />
  28. +
  29.   <cc:actionSource name="cancelEvent" />
  30. +
  31.   <cc:actionSource name="allEvents" targets="loginEvent cancelEvent" />
  32. +
  33. </cc:interface>
  34. +
  35. +
  36.   <ui:decorate template="fooTemplate.xhtml">
  37. +
  38.     <ui:define name="header">
  39. +
  40.       <p>This is the login panel header</p>
  41. +
  42.     </ui:define>
  43. +
  44.     <ui:define name="body">
  45. +
  46.       <p>
  47. +
  48.          <h:inputText id="username" />
  49. +
  50.       </p>
  51. +
  52.       <p>
  53. +
  54.         <h:commandButton id="loginEvent"
  55. +
  56.                          value="#{cc.attrs.loginButtonLabel}">
  57. +
  58.         </h:commandButton>
  59. +
  60.         <h:commandButton id="cancelEvent" value="Cancel" action="cancel">
  61. +
  62.         </h:commandButton>
  63. +
  64.         <special:validateUserButton
  65. +
  66.           validateUser="#{cc.attrs.specialMethodExpression}" />
  67. +
  68.       </p>
  69. +
  70.     </ui:define>
  71. +
  72.     <ui:define name="footer">
  73. +
  74.      <p>This is the login panel footer</p>
  75. +
  76.     </ui:define>
  77. +
  78.   </ui:decorate>
  79. +
  80. </cc:implementation>
+ +

The values for attributes in a composite component VDL file can be +fully localized by putting them inside a ResourceBundle in the same +directory as the VDL view and accessing them with the per-component +resource bundle syntax. Consider the file foo.xhtml, in +the resource library ezcomp. The +shortDescription element could be changed to be:

+ +
<cc:interface shortDescription="#{cc.resourceBundleMap.shortDescription}" >
+ +

In this case, In the same ezcomp directory as +foo.xhtml, there would be a foo.properties +file that would contain this entry:

+ +
shortDescription=A really nifty login panel.
+ +

The normal localization rules for ResourceBundle would +apply.

+ +

Refer to the composite tag for the details of defining the interface and implementation for composite components.

+ +
+ + + +
+
+]]>
+    jakarta.faces.composite
+    
+        
+
+            
+

Declares that the +composite component whose contract is declared by the +<cc:interface> in which this element is nested +exposes an implementation of ActionSource suitable for use +as the target of attached objects in the using page. +Any attached objects suitable for implementations of +ActionSource may be attached to the composite component. +Consider this excerpt from the using page: +

+ +
  1. <ez:loginPanel id="loginPanel" model="#{bean}">
  2. +
  3.   <f:valueChangeListener for="username"
  4. +
  5.                          binding="#{bean.useridValueChangeListener}" />
  6. +
  7.   <f:actionListener for="loginEvent"
  8. +
  9.                     binding="#{bean.loginEventListener}" />
  10. +
  11.   <f:actionListener for="cancelEvent"
  12. +
  13.                     binding="#{bean.cancelEventListener}" />
  14. +
  15.   <f:actionListener for="allEvents"
  16. +
  17.                     binding="#{bean.allEventsListener}" />
  18. +
  19. </ez:loginPanel>
+ +

The <f:actionListener> elements on lines 4, 7, and 10 +refer to the attached objects declared on lines 2, 3 and 4 below.

+ +
  1. <cc:interface name="loginPanel">
  2. +
  3.   <cc:actionSource name="loginEvent" />
  4. +
  5.   <cc:actionSource name="cancelEvent" />
  6. +
  7.   <cc:actionSource name="allEvents" targets="loginEvent cancelEvent" />
  8. +
  9. </cc:interface>
+ +

Most of the concepts from example content from <cc:valueHolder> +also applies in the case of +<cc:actionSource>.

+ +

Please see <cc:interface> for a usage +example.

+ + +]]> +
+ actionSource + + + + + +

+ The value of this attribute maps back to the "for" attribute on an attachable object + nested within a composite component. If the "targets" attribute is not specified, + this value also represents the component ID of the target component within the + that the <cc:implementation> + ActionListener should be mapped to. +

+]]> + +
+ name + true + java.lang.String +
+ + + + +

If present, this must be a space (not tab) separated list of client +ids (relative to the top level component) of components within +the <cc:implementation> section. Space is +used as the delimiter for compatibility with the IDREFS and NMTOKENS +data types from the XML Schema.

]]> + +
+ targets + false + java.lang.String +
+ + + + +

The "hidden" flag is used to identify features that are intended only for tool use, and which should not be exposed to humans.

+ +]]> + +
+ hidden + false + boolean +
+
+ + + + +

Declares an attribute that may be given to an instance of the +composite component tag for this composite component. There +may be zero or many of these inside of the +<cc:interface> section. This element may be +nested within other <cc:attribute> elements to +convey a usage contract that includes nested properties.

+ +

Please see summary +page for a usage example.

+ +

The top level component in which this element is + ultimately nested must be a NamingContainer. + There are certain component properties that must not be + exposed using this element. The motivation for this + restriction is that the mapping of markup attributes to + component properties/attributes does not allow for these + attributes to be set. The following properties must not be + exposed using this element.

+ +
    +
  • binding
  • +
  • id
  • +
  • inView
  • +
  • parent
  • +
  • rendered
  • +
  • rendererType
  • +
  • transient
  • +
+ +]]> +
+ attribute + + + + + +

If this attribute is not required, and a + value is not supplied by the page author, use this as + the default value.

]]> + +
+ default + false + java.lang.String +
+ + + + +

The name to display in a tool palette + containing this component. The value of this attribute will be set as + the value for this property on the composite + component bean descriptor.

]]> + +
+ displayName + false + java.lang.String +
+ + + + +

Is this component only for expert users? + The value of this attribute will be set as the value for + this property on the composite component bean + descriptor.

]]> + +
+ expert + false + boolean +
+ + + +

The "hidden" flag is used to identify features that are intended only + for tool use, and which should not be exposed to humans. The value of + this attribute will be set as the value for this property on the + composite component bean descriptor.

+ + ]]> +
+ hidden + false + boolean +
+ + + + +

Declares that this attribute must be a MethodExpression +whose method signature is described by the value of this attribute. The +signature must be described using fully qualified class names wherever a +type is required. This attribute is mutually exclusive with the "type" +attribute. If both attributes are present, the "method-signature" +attribute is ignored.

+ +

Provides the signature of the Java method. The syntax of + the method-signature element is as follows (taken from + function-signature in web-jsptaglibrary_2_1.xsd):

+ +

MethodSignature ::= ReturnType S MethodName S? + '(' S? Parameters? S? ')'

+ +

ReturnType ::= Type

+ +

MethodName ::= Identifier

+ +

Parameters ::= Parameter + | ( Parameter S? ',' S? Parameters )

+ +

Parameter ::= Type

+ +

Where:

+ +
    + +
  • Type is a basic type or a fully qualified + Java class name (including package name), + as per the 'Type' production in the Java + Language Specification, Second Edition, + Chapter 18.

  • + +
  • Identifier is a Java identifier, as per + the 'Identifier' production in the Java + Language Specification, Second + Edition, Chapter 18.

  • + +
+ +

Example:

+ +

java.lang.String nickName( java.lang.String, int )

+]]> + +
+ method-signature + false + java.lang.String +
+ + + + +

The name of the attribute as it must appear on the composite +component tag in the using page. If the value of the +name attribute is equal to (without the quotes) +“action”, “actionListener”, +“validator”, or “valueChangeListener”, the +action described in ViewHandler.retargetMethodExpressions() +must be taken to handle the attribute. In these cases, the +method-signature attribute, if present, must be ignored as +its value is derived as described in +retargetMethodExpressions().]]> + + + name + true + java.lang.String + + + + + +

Is this a "preferred" component. The value + of this attribute will be set as the value for this + property on the composite component bean + descriptor.

]]> + +
+ preferred + false + boolean +
+ + + + +

True if the page author must supply a value + for this attribute. The default value is false.

]]> + +
+ required + false + boolean +
+ + + + +

A short description of the purpose of this + component. The value of this attribute will be set as + the value for this property on the composite + component bean descriptor.

]]> + +
+ shortDescription + false + java.lang.String +
+ + + + +

This attribute allows the name of the attribute exposed to the using +page to differ from the one actually used in the implementation. For +example, consider a composite component that contains two buttons, one +that means "submit" and one that means "cancel". It is natural to want +to declare two composite component attributes to allow these buttons to +be customized, for example, "submitAction" and "cancelAction". For both +of these buttons, the method expression should be retargeted to the +inner button's "action" attribute. This scenario would be expressed as +follows.

+ + +<cc:interface>
+  <cc:attribute name="submitAction" targetAttributeName="action"
+                method-signature="java.lang.Object action()"/>
+  <cc:attribute name="cancelAction" targetAttributeName="action"
+                method-signature="java.lang.Object action()"/>
+  <cc:actionSource name="submitAction"/>
+  <cc:actionSource name="cancelAction"/>
+</cc:interface>
+<cc:implementation>
+  <h:commandButton id="submitAction" value="submit" />
+  <h:commandButton id="cancelAction" value="cancel" />
+</cc:implementation>
+
+ +]]> + +
+ + targetAttributeName + + + false + + + java.lang.String + +
+ + + +

If this element has a method-signature attribute, the +value of the targets attribute must be interpreted as a +space (not tab) separated list of client ids (relative to the top +level component) of components within the +<cc:implementation> section. Space is used as +the delimiter for compatibility with the IDREFS and NMTOKENS data types +from the XML Schema. Each entry in the list must be interpreted as the +id of an inner component to which the MethodExpression from +the composite component tag in the using page must be +applied. If this element has a method-signature attribute, +but no targets attribute, the value of the +name attribute is used as the single entry in the list. If +the value of the name attribute is not one +of the special values listed in the description of the name +attribute, targets (or its derived value) need not +correspond to the id of an inner component.

+ +]]>
+ targets + false + java.lang.String +
+ + +

Declares that this attribute must be a ValueExpression + whose expected type is given by the value of this attribute. If + not + specified, and no "method-signature" attribute is present, + java.lang.Object is assumed. This + attribute is mutually + exclusive with the "method-signature" attribute. If both attributes are + present, the + "method-signature" attribute is ignored.

+ + ]]>
+ type + false + java.lang.String +
+
+ + +

Declares that the composite component whose contract is declared by +the <cc:interface> in which this element is +nested exposes an implementation of ClientBehaviorHolder +suitable for use as the target of attached objects in the +using page. Any attached objects suitable for implementations of +ClientBehaviorHolder may be attached to the composite +component.

+ + ]]>
+ clientBehavior + + + +If the evaluated value of this attribute is true, the page +author may omit the the "event" attribute when specifying the behavior +in the using page. This is analogous to "action" being the default +event for commandLink. The usage of this attribute assumes +only one clientBehavior is declared in this composite +component. If more than one is specified, only the first one is used in +the case of a using page with no event attribute. + + ]]> + default + false + boolean + + + + +

The evaluated value of this attribute will be passed as the first +argument to the addClientBehavior() method on +ClientBehaviorHolder.

+ + ]]>
+ event + false + java.lang.String +
+ + +

+ The value of this attribute maps back to the "for" attribute on an attachable object + nested within a composite component. If the "targets" attribute is not specified, + this value also represents the component ID of the target component within the + that the <cc:implementation> + to which the ActionListener should be mapped. +

+ + ]]>
+ name + true + java.lang.String +
+ + + +

If present, this must be a space (not tab) separated list of client +ids (relative to the top level component) of components within +the <cc:implementation> section. Space is +used as the delimiter for compatibility with the IDREFS and NMTOKENS +data types from the XML Schema.

+ ]]>
+ targets + false + java.lang.String +
+
+ + +

Declares that the +composite component whose contract is declared by the +<cc:interface> in which this element is nested +exposes an implementation of EditableValueHolder suitable +for use as the target of attached objects in the using +page. Any attached objects suitable for implementations of +EditableValueHolder may be attached to the composite +component.The example from <cc:valueHolder> +still applies. +

+ +

Please see <cc:interface> for a usage +example.

+ + + ]]>
+ editableValueHolder + + + +

+ The value of this attribute maps back to the "for" attribute on + an attachable object + nested within a composite component. If the "targets" attribute + is not specified, + this value also represents the component ID of the target + component within the + that the <cc:implementation> + to which the ActionListener should be mapped. +

+ + + ]]>
+ name + true + java.lang.String +
+ + +

If present, this must be a space (not tab) separated + list of client + ids (relative to the top level component) + of components within + the <cc:implementation> + section. Space is + used as the delimiter for compatibility with the IDREFS and + NMTOKENS + data types from the XML Schema.

+ + ]]>
+ targets + false + java.lang.String +
+
+ + + +

Declares that this composite component supports a facet + with the + name given by the value of the "name" attribute.

+ +

Please see <cc:interface> + for a usage + example.

+ + + + ]]>
+ facet + + + +

The name to display in a tool palette + containing this component. The value of this attribute will be + set as + the value for this property on the composite + component bean descriptor.

+ + ]]>
+ displayName + false + java.lang.String +
+ + +

Is this facet only for expert users? + The value of this attribute will be set as the value for + this property on the composite component bean + descriptor.

+ + ]]>
+ expert + false + boolean +
+ + The "hidden" flag is used to identify features that are intended only + for tool use, and which should not be exposed to humans.

+ + ]]>
+ hidden + false + boolean +
+ + + +

The name of the attribute as it must appear + on the composite component tag in the + using page.

+ + ]]>
+ name + true + java.lang.String +
+ + +

Is this a "preferred" facet. The value + of this attribute will be set as the value for this + property on the composite component bean + descriptor.

+ + ]]>
+ preferred + false + boolean +
+ + +

True if the page author must supply a facet with this + name.

+ + ]]>
+ required + false + boolean +
+ + +

A short description of the purpose of this + facet. The value of this attribute will be set as + the value for this property on the composite + component bean descriptor.

+ + ]]>
+ shortDescription + false + java.lang.String +
+
+ + +

Defines the implementation of the composite + component. There must be zero or one of these in a + composite component markup file. If a + <cc:interface> element appears, + there must be a corresponding + <composite-implementation> element. If no + <cc:interface> element appears, + the <composite-implementation> element is + optional.

+ + ]]>
+ implementation + +
+ + + +

This element is used in the + <cc:implementation> + section. Any child + components or template text within the composite component tag in + the + using page will be re-parented into the composite component at the + point + indicated by this tag's placement within the + <cc:implementation> + section. The normal + use-case for this element is to have only one occurrence within the + <cc:implementation> + section. Inserting + multiple occurrences may cause duplicate id errors. The results are + undefined if there are multiple occurrences of this element in the + <cc:implementation> + section.

+ + + ]]>
+ insertChildren + +
+ + + +

The presence of this tag in +a <cc:implementation> section must cause the +named facet to be taken from the facet map of the top level +component and inserted as a facet child of the component in which +this element is nested. The results are +undefined if there are facets in the composite component tag in the +using page, but there is no correspondingly named occurrence of this +element in the <cc:implementation> +section.

+ + ]]>
+ insertFacet + + + + +

The name of the facet child on the top level + component which + must be inserted as a facet child of the component in which this + element + is nested.

+ + + + ]]>
+ name + true + java.lang.String +
+ + + +

If true, and there is no such + facet present on the top + level component, a TagException must be + thrown, containing + the Location, the facet name, and a + localized descriptive + error message.

+ + + + ]]>
+ required + false + boolean +
+
+ + + +

This + element declares the usage contract for a composite + component. Optionally, and at the component author's + discretion, this contract exposes the features of one or + more inner components to the page author. The page author + can work with the composite component as a single component + whose feature set is the union of the features declared in + the usage contract.

+ +

For example, consider a composite component that + implements the functionality of a "login panel". Such a + component would likely have two text fields and one button. + The user of such a component might like to do one or more of + the following.

+ +
    + +
  • Be able to listen for the ActionEvent + on the button.

    + +

    In this case, a + <cc:actionSource> element is + included in the usage contract that refers to the inner + button in the <cc:implementation> + section.

    + +
  • + +
  • Provide an "action" to invoke when the button is pressed. +

    + +

    In this case, a + <cc:attribute> element is included + in the usage contract that refers to the inner button in the + <cc:implementation> section and + declares the proper method signature for an "action".

    + +
  • + +
  • Provide parameters to the composite component for + labels and other rendering specific aspects of the composite + component.

    + +

    In this case, one or more + <cc:attribute> elements are included + in the usage contract and those parameters are referred to in + the <cc:implementation> section + using EL expressions like + #{cc.attrs.usernameLabel}, + assuming usernameLabel is the name + of one of the <cc:attribute> + elements in the usage contract.

    + +
  • + + +
  • Add ValueChangeListeners, + Converters, or Validators to either + or both text fields. +

    + +

    In this case, a + <cc:editableValueHolder> element is + included in the usage contract that refers to the inner text + field in the <cc:implementation> + section. In the case of wanting to enable only adding a + Converter (and not a + ValueChangeListener or Validator, a + <cc:valueHolder> element would be + used.

    + +
  • + +
  • Add facet children to the login panel.

    + +

    In this case, a <cc:facet> + element is included in the usage contract that refers to the + inner <cc:renderFacet> element in + the <cc:implementation> section. +

    + +
  • + + +
+ +

For each of the behaviorial interfaces in + section 3.2 "Component Behavioral Interfaces" of the Jakarta Faces Specification Document, + there is a tag in the + cc: library to nest inside of the + <cc:interface> section. +

+ + +

If the <cc:interface> section + is not present in a VDL view, the contract will be + inferred as described in the specification. There must be + zero or one of these elements in a composite component VDL + file. If a <cc:interface> element + does appear, there must be an accompanying + <cc:implementation> element in the + same VDL file.

+ +

Nesting of composite components

+ +

The implementation must support nesting of composite + components. Specifically, it must be possible for the + <cc:implementation> section of a + composite component to act as the using page for + another composite component. When a composite component + exposes a behavioral interface to the using page, + such as a <cc:actionSource>, + <cc:editableValueHolder>, + <cc:valueHolder> or other + behavioral interface, it must be possible to + “propogate” the exposure of such an interface in + the case of a nested composite component. The composite + component author must ensure that the value of the + name attributes exactly match at all levels of + the nesting to enable this exposure to work. The + implementation is not required to support + “re-mapping” of names in a nested composite + component.

+ +

For example, consider this nested composite component.

+ +

Using page

+ +
  1. <ez:actionSourceOuter>
  2. +
  3.   <f:actionListener for="button1" />
  4. +
  5. </ez:actionSourceOuter>
+ +

actionSourceOuter.xhtml: Outer composite component

+ +
  1. <cc:interface>
  2. +
  3.   <cc:actionSource name="button1" />
  4. +
  5. </cc:interface>
  6. +
  7. <cc:implementation>
  8. +
  9.   <ez:actionSourceInner />
  10. +
  11. </cc:implementation>
+ +

actionSourceInner.xhtml: the composite component used within a +composite component.

+ +
  1. <cc:interface>
  2. +
  3.   <cc:actionSource name="button1" />
  4. +
  5. </cc:interface>
  6. +
  7. <cc:implementation>
  8. +
  9.   <h:commandButton id="button1" value="the real button" />
  10. +
  11. </cc:implementation>
+ +

The id of the <h:commandButton> on +line 6 of actionSourceInner.xhtml must match the name on +line 2 of that file (this is a standard requirement for all composite +components, nested or not). That id must also match the +name on line 2 of actionSourceOuter.xhtml, and the +for on line 2 of the using page.

+ +

The implementation must support any level of nesting as long as the +for, name, and id values match +up. Furthermore, the targets attribute is also valid for +use in this nested fashion.

+ +

Naming containers within composite components

+ +

Composite components are themselves naming containers so that any +possible id conflicts between inner components and components in the +using page are avoided. However, special care must be taken when using +naming containers in the <cc:implementation> +section. In such cases the value of the “name” attribute, +or the values of the “targets” attribute must be used with a +clientId relative to the top level component to expose any +attached object targets to the using page. For example:

+ +

Using page

+ +
  1. <ez:loginButton>
  2. +
  3.   <f:actionListener for="button" binding="#{foo.actionListener}" />
  4. +
  5. </ez:loginButton>
+ + +

loginButton.xhtml

+ +
  1. <cc:interface>
  2. +
  3.   <cc:actionSource name="button" targets="form:button" />
  4. +
  5. </cc:interface>
  6. +
  7. <cc:implementation>
  8. +
  9.   <h:form id="form">
  10. +
  11.     <h:commandButton id="button" value="Submit" />
  12. +
  13.   </h:form>
  14. +
  15. </cc:implementation>
+ +

Because the button on line 8 resides within a form, it must be +referred to using a client id, relative to the top level +component, in the "targets" attribute on line 2. Using a relative +clientId is required due to the semantics of +UIComponent.findComponent().

+ + + + + + + ]]>
+ interface + + + +

The component-type of the UIComponent + that + will serve as the composite component root + for this composite + component. The declared component-family + for this + component must be jakarta.faces.NamingContainer.

+ + ]]>
+ componentType + false + java.lang.String +
+ + +

The name to display in a tool palette + containing this component. The value of this attribute will be + set as + the value for this property on the composite + component bean descriptor.

+ + ]]>
+ displayName + false + java.lang.String +
+ + +

Is this component only for expert users? + The value of this attribute will be set as the value for + this property on the composite component bean + descriptor.

+ + ]]>
+ expert + false + boolean +
+ + +

The "hidden" flag is used to identify features that are + intended only for tool use, and which should not be exposed to humans.

+ + ]]>
+ hidden + false + boolean +
+ + +

The name of this composite component. + Advisory only. The real name is taken from the + filename. The value of this attribute will be set as + the value for this property on the composite + component bean descriptor.

+ + ]]>
+ name + false + java.lang.String +
+ + +

Is this a "preferred" component. The value + of this attribute will be set as the value for this + property on the composite component bean + descriptor.

+ + ]]>
+ preferred + false + boolean +
+ + +

A short description of the purpose of this + component. The value of this attribute will be set as + the value for this property on the composite + component bean descriptor.

+ + ]]>
+ shortDescription + false + java.lang.String +
+
+ + + +

This element is used in the +<cc:implementation> section. The facet with +the name equal to the value of the name attribute, given by the page +author in the using page, will be rendered at this point in the +composite component VDL view.

+ + +

The implementation of this tag handler must insert a + component with component-type + jakarta.faces.Output and renderer-type + jakarta.faces.CompositeFacet as a + child at this point in the component tree.

+ +

The implementation of this tag handler must store an attribute into +the created component's attribute map under the key given by the value +of the symbolic constant UIComponent.FACETS_KEY. The value +for this key must be the evaluated value of the "name" attribute.

+ ]]>
+ renderFacet + + + +

The value of the name attribute as it must appear on an +<f:facet> tag nested within the composite +component tag in the using page.

+ + ]]>
+ name + true + java.lang.String +
+ + + +

If true, and there is no such + facet present on the top + level component, a TagException must be + thrown, containing + the Location, the facet name, and a + localized descriptive + error message.

+ + + + ]]>
+ required + false + boolean +
+
+ + +

Declares that the +composite component whose contract is declared by the +<cc:interface> in which this element is nested +exposes an implementation of ValueHolder suitable for use +as the target of attached objects in the using page. +Any attached objects suitable for implementations of +ValueHolder may be attached to the composite component. +Consider this excerpt from the using page: +

+ +
  1. <ez:foo>
  2. +
  3.   <f:converter for="userid" binding="#{bean.converter}" />
  4. +
  5. </ez:foo>
+ +

Line 2 refers to the + <cc:valueHolder> declaration on + line 2 of foo.xhtml:

+ +
  1. <cc:interface>
  2. +
  3.   <cc:valueHolder name="userid" />
  4. +
  5. </cc:interface>
  6. +
  7. <cc:implementation>
  8. +
  9.   <h:inputText id="userid" />
  10. +
  11. </cc:implementation>
+ +

+ +

It is possible to declare that a single +<cc:valueHolder> element should cause multiple +components within the <cc:implementation> +section to be the targets of an attached object in the +using page. Assuming the same using page excerpt as +above, the revised VDL view is:

+ +
  1. <cc:interface>
  2. +
  3.   <cc:valueHolder name="inputs" targets="userid,password" />
  4. +
  5. </cc:interface>
  6. +
  7. <cc:implementation>
  8. +
  9.   <h:inputText id="userid" />
  10. +
  11.   <h:inputText id="password" />
  12. +
  13. </cc:implementation>
+ +

In this case, the "targets" attribute on the +<cc:valueHolder> element, on line 2 above, +replaces the "name" attribute in the previous example. "targets" is a +list of ids of client ids (relative to the top level component) +within the <cc:implementation> section. In +this case, "targets" refers to the <h:inputText> +components on lines 6 and 7 above.

+ +

Please see <cc:interface> for a usage +example.

+ + + ]]>
+ valueHolder + + + +

The "hidden" flag is used to identify features that are + intended only for tool use, and which should not be exposed to humans.

+ + ]]>
+ hidden + false + boolean +
+ + +

+ The value of this attribute maps back to the "for" attribute on an attachable object + nested within a composite component. If the "targets" attribute is not specified, + this value also represents the component ID of the target component within the + that the <cc:implementation> + ActionListener should be mapped to. +

+ ]]>
+ name + true + java.lang.String +
+ + +

If present, this must be a space (not tab) separated list of client +ids (relative to the top level component) of components within +the <cc:implementation> section. Space is +used as the delimiter for compatibility with the IDREFS and NMTOKENS +data types from the XML Schema.

+ + ]]>
+ targets + false + java.lang.String +
+
+ diff --git a/api/src/main/vdldoc/faces.core.taglib.xml b/api/src/main/vdldoc/faces.core.taglib.xml new file mode 100644 index 00000000000..332eae29fe5 --- /dev/null +++ b/api/src/main/vdldoc/faces.core.taglib.xml @@ -0,0 +1,3066 @@ + + + + + Jakarta Faces Core Tag Library

+ +

The core Jakarta Faces + tags that are independent of any particular + RenderKit.

+ ]]>
+ jakarta.faces.core + + Register an ActionListener instance on the + UIComponent associated with the closest parent UIComponent + tag.

+ ]]>
+ actionListener + + + + binding + false + jakarta.faces.event.ActionListener + + + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + + type + false + java.lang.String + +
+ + + Register an + AjaxBehavior instance on one or more UIComponents implementing + the ClientBehaviorHolder interface. This tag may be nested + witin a single component (enabling Ajax for a single component), + or it may be "wrapped" around multiple components (enabling Ajax + for many components).

+ +

The String value for ids + specified for execute and render may be specified as a search + expression as outlined in the JavaDocs for + UIComponent.findComponent(). The implementation + must resolve these ids as specified for + UIComponent.findComponent(). For example, consider + the following Facelets code.

+ +
  1. <h:form id="form_1">
  2. +
  3.   <h:panelGrid id="panel_1" rows="2">
  4. +
  5.     <!-- content irrelevant -->
  6. +
  7.   </h:panelGrid>
  8. +
  9. </h:form>
  10. +
  11.  
  12. +
  13. <h:form id="form_2">
  14. +
  15.   <h:commandButton id="button">
  16. +
  17.     <f:ajax render=":form1:panel_1 panel_2" />
  18. +
  19.   </h:commandButton>
  20. +
  21.   <h:panelGrid id="panel_2">
  22. +
  23.     <!-- content irrelevant -->
  24. +
  25.   </h:panelGrid>
  26. +
  27. </h:form>
  28. +
+ +

When the button is pressed, + panel_1, in form_1 will be re-rendered, along with panel_2 in + form_2.

+ + ]]>
+ ajax + + + If less than + delay milliseconds elapses between calls to + request() only the most recent one is sent and all other + requests are discarded. If this option is not specified, or if the + value of delay is the literal string 'none' + without the quotes, no delay is used.

+ + ]]>
+ delay + false + java.lang.String +
+ + + A value of "true" indicates + the + AjaxBehavior should not be rendered. A value of "false" + indicates + the AjaxBehavior should be rendered. "false" is the default.

+ + ]]>
+ disabled + false + java.lang.Boolean +
+ + A String or + ValueExpression (that evalulates to a String) identifying the type of event + the Ajax action will apply to. If specified, it must be one of the + events supported by the component the Ajax behavior is being applied to as per ClientBehaviorHolder#getEventNames(). + For HTML components this would be the set of supported DOM events for the + component, plus "action" for Faces ActionSource components and "valueChange" + for Faces EditableValueHolder components. If not specified, the default + event is determined for the component via ClientBehaviorHolder#getDefaultEventName(). The DOM event name is the actual DOM + event name (for example: "click") as opposed to (for example: "onclick").

+ + + ]]>
+ event + false + java.lang.String +
+ + Evaluates to + Collection<String>. This is a space separated list of + search expressions to + components that will participate in the "execute" + portion of the Request Processing Lifecycle. See the javadoc for + SearchKeywordResolver for the complete list of + keywords. If a literal is specified the ids must be + space delimited. If + not specified, the default value of "@this" is assumed. For + example, @this clientIdOne clientIdTwo.

+ +

When nested within a composite component, + and the value contains or implies the keyword @this, + then the keyword must be remapped to the targets attribute of the associated <composite:clientBehavior> declaration, if any, + else if the value is not an absolute search expression, + then it must be reinterpreted relative to the location of the <f:ajax> declaration.

+ + ]]>
+ execute + false + java.util.Collection +
+ + If "true" behavior events + generated from this behavior + are broadcast during Apply Request Values phase. Otherwise, the + events will be + broadcast during Invoke Aplications phase

+ ]]>
+ immediate + false + java.lang.Boolean +
+ + Method expression referencing + a method + that will be called when an AjaxBehaviorEvent has been + broadcast for the listener.

+ ]]>
+ listener + false + public void + processAjaxBehavior(jakarta.faces.event.AjaxBehaviorEvent event) + throws jakarta.faces.event.AbortProcessingException + +
+ + + The name of the JavaScript + function that will handle errors.

+ + ]]>
+ onerror + false + java.lang.String +
+ + The name of the JavaScript + function that will handle UI events.

+ ]]>
+ onevent + false + java.lang.String +
+ + Evaluates to + Collection<String>. The search expressions to + components that will participate in the "render" portion + of the Request Processing Lifecycle. See the javadoc for + SearchKeywordResolver for the complete list of + keywords. If a literal is specified the identifiers must + be space delimited. If not specified, the + default value of "@none" is assumed. For example, @this + clientIdOne clientIdTwo.

+ +

When nested within a composite component, + and the value contains or implies the keyword @this, + then the keyword must be remapped to the client ID of the associated <composite:implementation>, + else if the value is not an absolute search expression, + then it must be reinterpreted relative to the location of the <f:ajax> declaration.

+ + ]]>
+ render + false + java.util.Collection +
+ + Reset specific input values. + Interpret the value of the render attribute as + a space separated list of client identifiers suitable for + passing directly to UIViewRoot.resetValues(). + The implementation must cause an ActionListener + to be attached to the ActionSource component + in which this tag is nested that calls + UIViewRoot.resetValues() passing the value of + the render attribute as the argument.

+ + ]]>
+ resetValues + false + java.lang.Boolean +
+ +
+ + + Add an attribute to the UIComponent associated with the closest + parent UIComponent tag.

+ ]]>
+ attribute + + + The name of the component attribute to be set.

+ ]]>
+ name + java.lang.String +
+ + The value of the component attribute to be set.

+ ]]>
+ value + java.lang.Object +
+
+ + + + Add attributes to the UIComponent associated with the closest + parent UIComponent tag. + For each Map.Entry in the Map<String, Object> + referenced by the value attribute of this tag, take the following action. + If parent.getAttributes().containsKey(entry.getKey()) returns + true, take no action for this entry. Otherwise, if + entry.getValue() is a ValueExpression call + parent.setValueExpression(entry.getKey(), entry.getValue()). + Otherwise, call parent.getAttributes.put(entry.getKey(), entry.getValue()). +

+ +]]> +
+ attributes + + + An EL ValueExpression that evaluates to a Map<String, Object>.

]]>
+ value + true + java.util.Map +
+
+ + Register a + DateTimeConverter instance on the UIComponent associated + with the closest parent UIComponent tag.

+ + ]]>
+ convertDateTime + + jakarta.faces.DateTime + + + + A ValueExpression that evaluates to an instance of + jakarta.faces.convert.DateTimeConverter.

+ ]]>
+ binding + jakarta.faces.convert.DateTimeConverter +
+ + + Predefined + formatting style which determines how the date component + of a date string is to be formatted and parsed. Applied + only if type is "date", "both", "localDate", + "localDateTime", or "zonedDateTime". Valid values + are "default", "short", "medium", "long", and "full". + Default value is "default". If a java.time + formatter is being used, yet the dateStyle is set to "default", + the value "medium" is assumed.

+ + ]]>
+ dateStyle + java.lang.String +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + + Locale whose predefined styles for dates and times are used + during formatting or parsing. If not specified, the Locale + returned by FacesContext.getViewRoot().getLocale() will be used. + Value must be either a VB expression that evaluates to a + java.util.Locale instance, or a String that is valid to pass as + the first argument to the constructor java.util.Locale(String + language, String country). The empty string is passed as the + second argument.

+ ]]>
+ locale + false + java.lang.Object +
+ + Custom formatting pattern which determines how the + date/time string should be formatted and parsed.

+ ]]>
+ pattern + java.lang.String +
+ + Predefined + formatting style which determines how the time component of a + date string is to be formatted and + parsed. Applied only if type is "time", "both", + "localTime" or + "offsetTime". + Valid values are "default", "short", "medium", "long", + and "full". Default value is "default". If a java.time + formatter is being used, yet the timeStyle is set to "default", + the value "medium" is assumed.

+ + ]]>
+ timeStyle + java.lang.String +
+ + Time zone in which to interpret any time information in the date + String. Value must be either a ValueExpression that evaluates to + a java.util.TimeZone instance, or a String that is a timezone ID + as described in the javadocs for + java.util.TimeZone.getTimeZone().

+ ]]>
+ timeZone + java.lang.Object +
+ + Specifies what + contents the string value will be formatted to include, or + parsed expecting. Valid values are "date", "time", + "both", "localDate", + "localDateTime", "localTime", "offsetTime", + "offsetDateTime", and "zonedDateTime". The values starting + with "local", "offset" and "zoned" correspond to Java SE 8 + Date Time API classes in package java.time with + the name derived by upper casing the first letter. For + example, java.time.LocalDate for the value + "localDate". Default value is "date".

+ + ]]>
+ type + java.lang.String +
+
+ + + tag. + ]]> + convertNumber + + jakarta.faces.Number + + + + A ValueExpression that evaluates to an instance of + jakarta.faces.convert.NumberConverter.

+ ]]>
+ binding + jakarta.faces.convert.NumberConverter +
+ + + ISO 4217 currency code, applied only when + formatting currencies.

+ ]]>
+ currencyCode + java.lang.String +
+ + Currency symbol, applied only when formatting + currencies.

+ ]]>
+ currencySymbol + java.lang.String +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + + Flag specifying whether formatted output will + contain grouping separators. Expressions must + evaluate to a boolean. Default value + is true.

+ ]]>
+ groupingUsed + java.lang.Boolean +
+ + Flag specifying whether only the integer part + of the value will be formatted and parsed. + Expressions must evaluate to a boolean. + Default value is false.

+ ]]>
+ integerOnly + java.lang.Boolean +
+ + + +

Locale + whose + predefined styles for numbers are used during formatting + and parsing. If not specified, the Locale returned by + FacesContext.getViewRoot().getLocale() will be used. + Expressions must evaluate to a java.util.Locale or a String that is valid to + pass as the first argument to the constructor + java.util.Locale(String language, String country). The + empty string is passed as the second argument.

+ +

]]>
+ locale + java.lang.Object +
+ + Maximum number of digits that will be formatted + in the fractional portion of the output. Expressions + must evaluate to an int.

+ ]]>
+ maxFractionDigits + java.lang.Integer +
+ + Maximum number of digits that will be formatted + in the integer portion of the output. Expressions + must evaluate to an int.

+ ]]>
+ maxIntegerDigits + java.lang.Integer +
+ + Minimum number of digits that will be formatted + in the fractional portion of the output. Expressions + must evaluate to an int.

+ ]]>
+ minFractionDigits + java.lang.Integer +
+ + Minimum number of digits that will be formatted + in the integer portion of the output. Expressions + must evaluate to an int.

+ ]]>
+ minIntegerDigits + java.lang.Integer +
+ + Custom formatting pattern which determins how the + number string should be formatted and parsed.

+ ]]>
+ pattern + java.lang.String +
+ + Specifies how the number string will be formatted + and parsed. Valid values are "number", "currency", + and "percent". Default value is "number".

+ ]]>
+ type + java.lang.String +
+
+ + + Register a named Converter instance on the UIComponent + associated with the closest parent UIComponent tag.

+ ]]>
+ converter + + + A ValueExpression that evaluates to an object that + implements jakarta.faces.convert.Converter.

+ ]]>
+ binding + jakarta.faces.convert.Converter +
+ + Converter identifier of the Converter instance to be + created and registered. + ]]> + converterId + java.lang.String + + + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+
+ + Allow Jakarta Faces page authors to + install ComponentSystemEventListener + instances + on a component in a page.

+ +
+ +

+ +
+ + ]]>
+ event + + + The expression must + evaluate to a public method that takes a + ComponentSystemEvent parameter, with a return + type of void, or to a public method that takes no + arguments with a return type of void. In the latter case, + the method has no way of easily knowing where the event + came from, but this can be useful in cases where a + notification is needed that "an event happened".

+ ]]>
+ listener + true + public void + listener(jakarta.faces.event.ComponentSystemEvent event) throws + jakarta.faces.event.AbortProcessingException + +
+ + + Name of the event for which + to install a listener. The following table lists the + valid values for this attribute, and the corresponding + event type for which the listener action is + registered.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
value for "type" tag +attributeType of event sent to listener method +
preRenderComponent +jakarta.faces.event.PreRenderComponentEvent +
preRenderView +jakarta.faces.event.PreRenderViewEvent +
postAddToView +jakarta.faces.event.PostAddToViewEvent +
preValidate +jakarta.faces.event.PreValidateEvent +
postValidate +jakarta.faces.event.PostValidateEvent +
+ +
+ +

In addition to these values, the fully qualified class name of any +java class that extends +jakarta.faces.event.ComponentSystemEvent may be used as the +value of the "type" attribute.

+ +

Also, the @jakarta.faces.event.NamedEvent annotation may +be attached to any java class that extends +jakarta.faces.event.ComponentSystemEvent. This enables that +event to be referenced from this attribute, as descibed in the javadocs +for @NamedEvent.

+ +
+ + + ]]>
+ type + true + java.lang.String +
+
+ + + Register a named + facet on the UIComponent associated with the closest parent + UIComponent tag.

+ +

+ When the facet contains more than one child the children will be + automatically put in a container UIPanel. +

+ + ]]>
+ facet + + + Name of the facet to be created.

+ ]]>
+ name + true + java.lang.String +
+
+ + + + Used inside of the metadata facet of a view, this tag will import a mapping of all constant field values of the given type in the current view. + Constant field values are all public static final fields of the given type. + The map key represents the constant field name as String. + The map value represents the actual constant field value. + This works for classes, interfaces and enums. +

+ ]]>
+ importConstants + + jakarta.faces.ImportConstants + + + + The fully qualified name of the type to import the constant field values for. +

+ ]]>
+ type + true + java.lang.String +
+ + + Name of request scope attribute under which constants will be exposed as a Map. + Defaults to the simple name of the given type. +

+ ]]>
+ var + false +
+
+ + + Load a resource bundle localized for the Locale of the current + view, and expose it as a java.util.Map in the request attributes + of the current request under the key specified by the value of the + "var" attribute of this tag. The Map must behave such that if a + get() call is made for a key that does not exist in the Map, the + literal string ???KEY??? is returned from the Map, where KEY is + the key being looked up in the Map, instead of a + MissingResourceException being thrown. If the ResourceBundle does + not exist, a TagAttributeException must be thrown.

+ ]]>
+ loadBundle + + + Base name of the resource bundle + to be loaded.

+ ]]>
+ basename + java.lang.String +
+ + Name of a request scope attribute under which + the resource bundle will be exposed as a Map.

+ ]]>
+ var + true + java.lang.String +
+
+ + Declare the metadata + facet for this view. This must be a direct child of the + <f:view>. This tag + must reside within the top level XHTML file for the given + viewId, or in a + template client, but not in a template. The + implementation must insure that the direct child of the + facet is a UIPanel, even if there + is only one child of the facet. The implementation must set + the id of the UIPanel to be the + value of the + UIViewRoot.METADATA_FACET_NAME + symbolic constant.

+ +
+ +

The implementation must allow templating for this element + according + to the following pattern.

+ +

template client XHTML view, view01.xhtml

+ +
+ +
  1. <ui:composition + template="template.xhtml">
  2. +
  3.     + <ui:define name="metadata">
  4. +
  5.     +   <f:metadata>
  6. +
  7.     +     <f:viewParam + name="id"/>
  8. +
  9.     +   </f:metadata>
  10. +
  11.     + </ui:define>
  12. +
  13.     + <ui:define name="content">
  14. +
  15.     +     <h1>The + big news stories of the day</h1>
  16. +
  17.     + </ui:define>
  18. +
  19. </ui:composition> +
+ +
+

Note line 4. The page author must ensure that the + <f:metadata> element does not + appear on a template or + included page. It must reside on the root page that corresponds to + the + viewId.

+ +

The template page, template.xhtml

+ +
+ + +
  1. <html xmlns="http://www.w3.org/1999/xhtml"
  2. +
  3.     +   xmlns:ui="jakarta.faces.facelets"
  4. +
  5.     +   xmlns:f="jakarta.faces.core"
  6. +
  7.     +   xml:lang="en" lang="en">
  8. +
  9.  
  10. +
  11. <body>
  12. +
  13. <f:view>
  14. +
  15.     +
  16. +
  17.     +     <ui:insert name="metadata"/>
  18. +
  19.    
  20. +
  21.     + <div + id="container">
  22. +
  23.     +     <ui:insert name="content"/>
  24. +
  25.     + </div>
  26. +
  27. </f:view>
  28. +
  29. </body>
  30. +
  31. </html>
+ +

The page author is not required to use + templating, but if + they do, it must be done as shown above, (or with + <ui:include> in a similar + manner).

+ + + + + ]]>
+ metadata + +
+ + + Add a child UIParameter + component to the UIComponent associated with the closest parent + UIComponent tag.

+ ]]>
+ param + + jakarta.faces.Parameter + + + + ValueExpression to a backing bean + property bound to the component instance for + the UIComponent created by this tag.

+ ]]>
+ binding + jakarta.faces.component.UIComponent +
+ + Flag enabling or disabling the inclusion of the + parameter. This flag is + consulted by renderers that consider the + UIParameter component associated with this + during their rendering. + Such renderers include jakarta.faces.Output + jakarta.faces.Link and + jakarta.faces.OutcomeTarget + jakarta.faces.Link.

+ + + ]]>
+ disable + boolean +
+ + + Component identifier of the UIParameter component + to be created.

+ ]]>
+ id + false + java.lang.String +
+ + Name of the parameter to be created.

+ ]]>
+ name + java.lang.String +
+ + Value of the parameter to be set.

+ ]]>
+ value + java.lang.String +
+
+ + + Add an attribute to the + passThroughAttributes Map of the UIComponent + associated with the closest parent UIComponent tag.

+ + ]]>
+ passThroughAttribute + + + The name + of the pass through attribute. An attribute with this name, + and the corresponding value will appear on the outer most + markup element in the rendered markup for the component, as + specified in the overview for the HTML_BASIC RenderKit. If + the name of this attribute conflicts with + Renderer specific attribute, the value + specified here supercedes the one that would otherwise be + rendered by the Renderer

]]>
+ name + true + java.lang.String +
+ + + The value + of the pass through attribute.

]]>
+ value + true + java.lang.Object +
+
+ + + Add attributes to the + passThroughAttributes Map of the UIComponent + associated with the closest parent UIComponent tag. + For each Map.Entry in the Map<String, Object> + referenced by the value attribute of this tag, take the following action. + Call component.getPassThroughAttributes().put(entry.getKey(), entry.getValue()).

+ +]]> +
+ passThroughAttributes + + + An EL ValueExpression that evaluates to a Map<String, Object>.

]]>
+ value + true + java.util.Map +
+
+ + + Register a PhaseListener instance on the UIViewRoot in which + this tag is nested.

+ ]]>
+ phaseListener + + + Value binding expression that evaluates to an object that + implements jakarta.faces.event.PhaseListener.

+ ]]>
+ binding + false + jakarta.faces.event.PhaseListener +
+ + + Fully qualified Java class name of a PhaseListener to be + created and registered.

+ ]]>
+ type + false + java.lang.String +
+
+ + Add a child UISelectItem component to the UIComponent + associated with the closest parent UIComponent tag.

+ ]]>
+ selectItem + + jakarta.faces.SelectItem + + + + Value binding expression to a backing bean + property bound to the component instance for + the UIComponent created by this tag.

+ ]]>
+ binding + jakarta.faces.component.UIComponent +
+ + Component identifier of the UISelectItem + component to be created.

+ ]]>
+ id + false + java.lang.String +
+ + Description of this option, for use in + development tools.

+ ]]>
+ itemDescription + java.lang.String +
+ + Flag indicating whether the option created + by this component is disabled. Expressions + must evaluate to a boolean. Default value + is false.

+ ]]>
+ itemDisabled + java.lang.Boolean +
+ + Flag indicating that characters that are sensitive in + the value of the itemLabel + attribute must be escaped. This flag is set to "true" by + default.

+ ]]>
+ itemEscaped + java.lang.String +
+ + Label to be displayed to the user + for this option.

+ ]]>
+ itemLabel + java.lang.String +
+ + Value to be returned to the server if this + option is selected by the user.

+ ]]>
+ itemValue + java.lang.String +
+ + Flag indicating whether the option created by this + component represents the special "no selection" + option. Expressions must evaluate to a boolean. + Default value is false.

+ ]]>
+ noSelectionOption + java.lang.Boolean +
+ + Value binding expression pointing at a + SelectItem instance containing the + information for this option.

+ ]]>
+ value + jakarta.faces.model.SelectItem +
+
+ + + Add a + child UISelectItems component to the UIComponent associated + with the closed parent UIComponent tag.

+ +

When iterating over the + select items, toString() must be called on + the + string rendered attribute values.

+ +

Version 2 of the specification + introduces + several new attributes, described below. These are: var, itemValue, + itemLabel, itemDescription, itemDisabled, and itemLabelEscaped.

+ + + ]]>
+ selectItems + + jakarta.faces.SelectItems + + + + Value binding expression to a backing bean + property bound to the component instance for + the UIComponent created by this tag.

+ ]]>
+ binding + jakarta.faces.component.UIComponent +
+ + + id + false + java.lang.String + + + evaluates to a String that + will + serve as the description to be shown for the item.

+ + ]]>
+ itemDescription + java.lang.String +
+ + evaluates to a boolean that + will + determine if the item value is selectable or not.

+ + ]]>
+ itemDisabled + java.lang.Boolean +
+ + evaluates to a String that + will + serve as the label to be shown for the item.

+ + ]]>
+ itemLabel + java.lang.String +
+ + evaluates to a boolean that will +determine if the rendered markup for the item receives normal Faces HTML +escaping or not. If not specified, the +runtime must behave as if the value were true.

+ + ]]>
+ itemLabelEscaped + java.lang.Boolean +
+ + This attribute lets you refer + to a property of the current member of the collection + referenced by the "value" attribute, using the value of the + "var" attribute as the base. For example, + #{n.id}.

+ + ]]>
+ itemValue + java.lang.Object +
+ + Is either an EL + expression pointing to the element in the value collection + whose value should be marked as a “no selection” + item, or a literal string that exactly matches the value of + the item in the collection that must be marked as the + “no selection” item. If the user selects such + an item and the field is marked as + required, then it will not pass validation.

+ + + ]]>
+ noSelectionValue + java.lang.Boolean +
+ + + Value expression pointing at any Collection + or array. The member elements may be instances of + SelectItem or any Java Object. In the + case where the member elements are plain Java Objects, + several additional attributes must be used by the page + author to correctly identify the data to the enclosing + UISelectOne or UISelectMany + component, as shown in the following example. + +
  1. <h:selectOneListbox size="1" id="escape02" value="#{select05NoSelection.initialCollectionValues}">
  2. +
  3.   <f:selectItems value="#{select05NoSelection.hobbitList}"
  4. +
  5.                  var="n"
  6. +
  7.                  itemValue="#{n.id}"
  8. +
  9.                  itemLabel="#{n.bio}"
  10. +
  11.                  itemDescription="#{n.description}"
  12. +
  13.                  itemDisabled="#{n.disabled}"
  14. +
  15.                  itemLabelEscaped="true"
  16. +
  17.                  noSelectionValue="#{select05NoSelection.hobbitList[0]}"/>
  18. +
  19. </h:selectOneListbox>
+ +

In the preceding example, the +value attribute on line 1 points to a +Collection<HobbitBean>. HobbitBean is +just a regular Java Object (POJO) that conforms to JavaBeans naming +conventions for its properties. The value attribute on +line 2 points to a List<HobbitBean>, though it could +just as well point to a Collection, array, or +jakarta.faces.model.DataModel. The attributes on lines 3 +through 9, inclusive, leverage the fact that the value is a collection +of POJOs. +

+ + +

+ + + + ]]>
+ value + java.lang.Object +
+ + Expose the value from the + value attribute under this request + scoped key so that it + may be referred to in EL for the value of other attributes.

+ + + ]]>
+ var + false +
+
+ + + + UISelectItemGroup is a component that may be nested inside a UISelectMany or UISelectOne component, + and causes the addition of one SelectItemGroup of one or more SelectItem instances to the list of available options in the parent component. + This component accepts only children of type UISelectItems or UISelectItem. +

+ ]]>
+ selectItemGroup + + jakarta.faces.SelectItemGroup + + + + UISelectItemGroup component to be created. + ]]> + id + java.lang.String + + + UIComponent created by this tag. + ]]> + binding + jakarta.faces.component.UIComponent + + + + itemLabel + java.lang.String + +
+ + + + UISelectItemGroups is a component that may be nested inside a UISelectMany or UISelectOne component, + and causes the addition of one or more SelectItemGroup of one or more SelectItem instances to the list of available options in the parent component. + This component accepts only children of type UISelectItems or UISelectItem. +

+ ]]>
+ selectItemGroups + + jakarta.faces.SelectItemGroups + + + + UISelectItemGroups component to be created. + ]]> + id + java.lang.String + + + UIComponent created by this tag. + ]]> + binding + jakarta.faces.component.UIComponent + + + Iterable. + The member elements may be instances of any type which is acceptable by the value attribute of any nested UISelectItems or UISelectItem component. + ]]> + value + java.lang.Object + + + value attribute under this request scoped key, + so that it may be referred to in EL for the value of other attributes of any nested component. + ]]> + var + + + + itemLabel + java.lang.String + + + boolean. + Default value is false. + ]]> + itemDisabled + java.lang.Boolean + +
+ + + Register an ActionListener instance on the UIComponent + associated with the closest parent UIComponent tag. + This actionListener will cause the value given by the "value" + attribute to be set into the ValueExpression given by the "target" + attribute.

+ +

The implementation of this tag creates a special + ActionListener instance and registers it on + the + ActionSource associated with our most + immediate surrounding + instance of a tag whose implementation class is a subclass of + UIComponentTag. This tag creates no output + to the page + currently being created.

+ +

The ActionListener instance + created and installed by + this tag has the following behavior and contract.

+ +
    + +
  • Only create and register the ActionListener + instance + the first time the component for this tag is created
  • + +
  • The "target" and "value" tag attributes are + ValueExpression + instances and are stored unevaluated as instance variables of the + listener.
  • + +
  • When the listener executes, perform the following: +
      + Call getValue() on the "value" ValueExpression. +
    +
      + If value of the "value" expression is null, call setValue() on + the "target" ValueExpression with the null value. +
    +
      + If the value of the "value" expression is not null, call getType() + on the "value" and "target" ValueExpressions to determine their + property types. +
    +
      + Coerce the value of the "value" expression to the "target" + expression value type following the Expression Language coercion + rules. Call setValue() on the "target" ValueExpression with the + resulting value. +
    +
      + If either coercion or the execution of setValue() fails throw an + AbortProcessingException. +
    +
  • + +
+ ]]>
+ setPropertyActionListener + + + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + ValueExpression that is the destination of the value + attribute.

+ ]]>
+ target + true + java.lang.String +
+ + ValueExpression to be stored as the value of the target + attribute.

+ ]]>
+ value + true + java.lang.String +
+
+ + + Naming Container tag for all Jakarta Faces core and + component tags. It is particularly useful when a nested section included via + <ui:include> or any tag that dynamically includes another + page is included more than once, potentially causing duplicate component IDs. + Each of those nested sections can then be wrapped in its own <f:subview> + with each an unique id.

+ ]]>
+ subview + + jakarta.faces.NamingContainer + + + + Value binding expression to a backing bean + property bound to the component instance for + the UIComponent created by this tag.

+ ]]>
+ binding + jakarta.faces.component.UIComponent +
+ + Component identifier of the UINamingContainer + component to be created.

+ ]]>
+ id + true + java.lang.String +
+ + Flag indicating whether this component (and its + children) should be rendered. Expressions must + evaluate to a boolean.

+ ]]>
+ rendered + java.lang.Boolean +
+
+ + + + + + +

A validator that + delegates the validation of the local value to the Bean + Validation API. The validationGroups attribute serves as a + filter that instructs the Bean Validation API which + contraints to enforce. If there are any constraint + violations reported by Bean Validation, the value is + considered invalid. An + instance of this validator can participate in class-level + validation provided the preconditions mentioned in + <f:validateWholeBean /> are met. Please + see the documentation for <f:validateWholeBean + /> and + jakarta.faces.validator.BeanValidator.validate() for + the specification and usage example.

+ + ]]>
+ validateBean + + jakarta.faces.Bean + + + + A ValueExpression that evaluates to an instance of + BeanValidator.

+ ]]>
+ binding + jakarta.faces.validator.BeanValidator +
+ + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + + ]]>
+ disabled + java.lang.Boolean +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + A comma-separated list of validation groups. A validation group + is a fully-qualified class name.

+ ]]>
+ validationGroups + false + java.lang.String +
+
+ + + Register a DoubleRangeValidator instance on the + UIComponent associated with the closest parent + UIComponent tag.

+ ]]>
+ validateDoubleRange + + jakarta.faces.DoubleRange + + + + A ValueExpression that evaluates to an instance of + DoubleRangeValidator.

+ ]]>
+ binding + jakarta.faces.validator.DoubleRangeValidator +
+ + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + ]]>
+ disabled + java.lang.Boolean +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + Maximum value allowed for this component.

+ ]]>
+ maximum + java.lang.Double +
+ + Minimum value allowed for this component.

+ ]]>
+ minimum + java.lang.Double +
+
+ + + Register a LengthValidator instance on the + UIComponent associated with the closest parent + UIComponent tag.

+ ]]>
+ validateLength + + jakarta.faces.Length + + + + A ValueExpression that evaluates to an instance of + LengthValidator.

+ ]]>
+ binding + jakarta.faces.validator.LengthValidator +
+ + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + + ]]>
+ disabled + java.lang.Boolean +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + Maximum length allowed for this component.

+ ]]>
+ maximum + java.lang.Integer +
+ + Minimum length allowed for this component.

+ ]]>
+ minimum + java.lang.Integer +
+
+ + Register a LongRangeValidator instance on the + UIComponent associated with the closest parent + UIComponent tag.

+ ]]>
+ validateLongRange + + jakarta.faces.LongRange + + + + + binding + jakarta.faces.validator.LongRangeValidator + + + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + + ]]>
+ disabled + java.lang.Boolean +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + Maximum value allowed for this component.

+ ]]>
+ maximum + java.lang.Long +
+ + Minimum value allowed for this component.

+ ]]>
+ minimum + java.lang.Long +
+
+ + + + + + A validator that uses the pattern attribute to validate the + wrapping component. The entire pattern is matched against + the String value of the component. If it matches, it's + valid. + +

+ ]]>
+ validateRegex + + jakarta.faces.RegularExpression + + + + A ValueExpression that evaluates to an instance of + RegexValidator.

+ ]]>
+ binding + jakarta.faces.validator.RegexValidator +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + + ]]>
+ disabled + java.lang.Boolean +
+ + A regular expression pattern. Remember that, like in + all Java strings, backslash must be escaped with another + backslash.

+ ]]>
+ pattern + true + java.lang.String +
+
+ + + A validator that enforces + the presence of a value. It has the same affect as setting the + required attribute on a UIInput to true.

+ + ]]>
+ validateRequired + + jakarta.faces.Required + + + + + binding + jakarta.faces.validator.RequiredValidator + + + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + + ]]>
+ disabled + java.lang.Boolean +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+
+ + + Support multi-field validation + by enabling class-level bean validation on CDI based backing + beans. This feature causes a temporary copy of the bean + referenced by the value attribute, for the sole + purpose of populating the bean with field values already + validated by <f:validateBean /> and then + performing class-level validation on the copy. Regardless + of the result of the class-level validation, the copy is + discarded. This feature must explicitly be enabled by + setting the application parameter specified in the javadoc + for the symbolic constant + jakarta.faces.validator.BeanValidator.ENABLE_VALIDATE_WHOLE_BEAN_PARAM_NAME. + If this parameter is not set, or is set to false, this tag + must be a no-op. A non-normative example follows the + specification of the feature.

+ +
+ +

At a high level, the feature provides for + a UIInput subclass that maintains its own + special private Validator that uses information + from one or more <f:validateBean />s to + perform class-level bean validation. For discussion, this + special Validator is called + the wholeBeanValidator.

+ +

This tag must be backed by a UIInput + component with the following specializations.

+ +
    + +
  • Override getSubmittedValue() to return a + non-null non empty String. This + allows UIInput.validate() to + call wholeBeanValidator.validate().

  • + +
  • Override setConverter() to be a no-op. + It does not make sense to allow a converter to be + installed.

  • + + +
  • Override addValidator() to be a no-op + unless the argument is an instance + of wholeBeanValidator. It does not make sense to + allow additional validators to be installed.

  • + +
  • Override validate() to take the + following actions.

    + +
      + +
    • If the feature is not enabled, return + immediately.

    • + +
    • If the wholeBeanValidator has not yet + been installed, instantiate and pass it to + this.addValidator().

    • + +
    • Call super.validate().

    • + +
    + +
  • + +
+ +

The wholeBeanValidator must have + a validate() method that performs the following + actions. Due to the above specification, this method will + only ever be passed the special UIInput + component.

+ +
    + +

    Resolve the value of the component to + its Object. Assume that + this value is the bean whose properties are + intended to be populated by components whose values are each + validated by <f:validateBean /> tags. + For discussion, this bean is called the candidate + bean and the properties and their respective values are + called the candidate values. If the candidate + bean cannot be referenced, return immediately + from validate(). Use the information recorded + by each of those <f:validateBean /> tags + to ensure that none of the candidate values are + invalid. If any of them are invalid, return immediately + from validate(). This ensures class-level + validation is only performed on an instance whose fields are + all individually valid.

    + +

    Otherwise it can be assumed that all field-level + validations for this class-level validation have passed.

    + +

    Class-level bean validation must operate on a + sufficiently populated bean instance. This differs from Faces + field-level validation, which prevents beans from being + populated with invalid values. To accomodate this + difference, the candidate bean must be copied, + populated with the already-validated candidate + values, and then subjected to class-level validation. + The copying must proceed in the following order.

    + +
      + +
    1. Invoke the newInstance() method on the + bean's Class. If this throws + any Exception, swallow it and + continue.

    2. + +
    3. If the bean implements Serializable, use + that to copy the bean instance.

    4. + +
    5. Otherwise, if the bean + implements Cloneable, clone the bean + instance.

    6. + +
    7. Otherwise, if the bean has a copy constructor, use + that to copy the bean instance.

    8. + +
    9. If none of these techniques yields a copy, + throw FacesException.

    10. + +
    + +

    Populate the copied bean with the candidate + values.

    + +

    Obtain a reference to + a jakarta.validation.Validator instance using the + same steps described in the javadoc + for jakarta.faces.validator.BeanValidator.validate(). + Let the instance be called beanValidator for + discussion.

    + +

    Obtain the value of the validationGroups + attribute using the same steps described in the javadoc + for jakarta.faces.validator.BeanValidator.validate(). + If this value is not present or not valid, + throw FacesException.

    + +

    Call the validate method on + beanValidator, passing the populated copied bean + and the validation groups as arguments. The copied bean can + be discarded at this point.

    + +

    If the + returned Set<ConstraintViolation> is + non-empty, for each element in the Set, create + a FacesMessage where the summary and detail are + the return from + calling ConstraintViolation.getMessage(). + Capture all such FacesMessage instances into + a Collection and pass them + to ValidatorException. Using information + recorded by the <f:validateBean /> + tag(s), call setValid(false) on all of the + components whose values contributed to this class-level + validation. This is essential to prevent the invalid value + from being set into the model during the update model values + phase. Finally, throw the exception.

    + +
+ +

This tag must be placed in the component tree after all + of the fields that are to be included in the multi-field + validation. If this precondition is not met, the results + of applying this tag are unspecified.

+ +

This tag must be used in concert + with <f:validateBean /> and Bean + Validation. Here is a brief example of the common case of + ensuring two password fields are individually valid and also + both the same. The feature requires the use of + the validationGroups attribute on all of + the <f:validateBean /> tags and + the <f:validateWholeBean /> tag.

+ +

First, the ConstraintValidator + implementation.

+ +

+public class PasswordValidator implements ConstraintValidator<Password, PasswordHolder> {
+
+  @Override
+  public void initialize(Password constraintAnnotation) { }
+
+  @Override
+  public boolean isValid(PasswordHolder value, ConstraintValidatorContext context) {
+    boolean result;
+    
+    result = value.getPassword1().equals(value.getPassword2());
+
+    return result;
+  }
+
+}
+
+ +

Note that a PasswordHolder instance is + passed to the isValid() method. This method + will only be called if the individual properties of + the PasswordHolder are valid. This fact allows + the isValid() method to inspect the properties + and perform effective class-level validtion.

+ +

Next, the Constraint.

+ +

+@Constraint(validatedBy=PasswordValidator.class)
+@Target(TYPE)
+@Retention(RUNTIME)
+@interface Password {
+
+    String message() default "Password fields must match";
+    Class[] groups() default {};
+    Class[] payload() default {};
+}
+
+ +

Now the backing bean constrained by + this Constraint. Note the use + of groups. Note the fact that the bean + implements Cloneable.

+ +

+@Named
+@RequestScoped
+@Password(groups = PasswordValidationGroup.class)
+public class BackingBean implements PasswordHolder, Cloneable {
+    
+    private String password1;
+    
+    private String password2;
+
+    public BackingBean() {
+        password1="";
+        password2="";
+    }
+
+    @Override
+    protected Object clone() throws CloneNotSupportedException {
+        BackingBean other = (BackingBean) super.clone();
+        other.setPassword1(this.getPassword1());
+        other.setPassword2(this.getPassword2());
+        return other;
+    }
+    
+    @NotNull(groups=PasswordValidationGroup.class)
+    @Size(max=16, min=8, message="Password must be between 8 and 16 characters long",
+            groups = PasswordValidationGroup.class)
+    @Override
+    public String getPassword1() {
+        return password1;
+    }
+
+    public void setPassword1(String password1) {
+        this.password1 = password1;
+    }
+
+    @NotNull(groups=PasswordValidationGroup.class)
+    @Size(max=16, min=8, message="Password must be between 8 and 16 characters long",
+            groups = PasswordValidationGroup.class)
+    @Override
+    public String getPassword2() {
+        return password2;
+    }
+
+    public void setPassword2(String password2) {
+        this.password2 = password2;
+    }
+    
+}
+
+ +

Finally, the Facelets view.

+

+<h:panelGrid columns="2">
+
+    <h:outputText value="Password" />  
+    <h:inputSecret id="password1" value='#{backingBean.password1}'>
+        <f:validateBean validationGroups="PasswordValidationGroup" />
+    </h:inputSecret>
+    
+    <h:outputText value="Password again" /> 
+    <h:inputSecret id="password2" value='#{backingBean.password2}'>
+        <f:validateBean validationGroups="PasswordValidationGroup" />
+    </h:inputSecret>
+    
+</h:panelGrid>
+
+<f:validateWholeBean value='#{backingBean}' 
+   validationGroups="PasswordValidationGroup" />
+
+ +
+ + +]]>
+ validateWholeBean + + + + + + + A boolean value enabling or + disabling this validation component.

+ + + ]]>
+ disabled + false + java.lang.Boolean +
+ + Component identifier of the + UIInput component to be created.

+ ]]>
+ id + false + java.lang.String +
+ + A comma-separated list of + validation groups. A validation group is a + fully-qualified class name.

+ + ]]>
+ validationGroups + true + java.lang.String +
+ + A ValueExpression referencing the bean to be validated.

+ + ]]>
+ value + true + java.lang.Object +
+ +
+ + + + Register + a named + Validator instance on the UIComponent associated with the + closest parent UIComponent tag.

+ +
+ +

Usage outside of an EditableValueHolder + parent

+ +

If this element is nested within a + UIComponent tag that has other + UIComponent children, the validator will be + automatically added to all the child components as well as + this one. The implementation must ensure this occurs even if + the parent of this element is not an instance of + EditableValueHolder.

+ +
+ + ]]>
+ validator + + + A ValueExpression that evaluates to an object that implements + the jakarta.faces.validator.Validator interface.

+ ]]>
+ binding + jakarta.faces.validator.Validator +
+ + A boolean value + enabling page level determination of whether or not this + validator is enabled on the enclosing component.

+ + + ]]>
+ disabled + java.lang.Boolean +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + Validator identifier of the Validator + to be created and registered.

+ ]]>
+ validatorId + java.lang.String +
+
+ + + Register a ValueChangeListener instance on the UIComponent + associated with the closest parent UIComponent tag.

+ ]]>
+ valueChangeListener + + + Value binding expression that evaluates to an object that + implements jakarta.faces.event.ValueChangeListener.

+ ]]>
+ binding + false + jakarta.faces.event.ValueChangeListener +
+ + If present, this attribute + refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + Fully qualified Java class name of a + ValueChangeListener to be created and registered.

+ ]]>
+ type + java.lang.String +
+
+ + + Container for all Jakarta Faces + core and component tags used on a + page.

]]>
+ view + + jakarta.faces.ViewRoot + + + + MethodBinding pointing to a method that takes a + jakarta.faces.event.PhaseEvent and returns void. This + method will be called after every phase except for + restore view on an initial request.

+ + ]]>
+ afterPhase + false + void afterPhase(jakarta.faces.event.PhaseEvent) + +
+ + MethodBinding pointing to a method that takes a + jakarta.faces.event.PhaseEvent and returns void. This method + will be called before every phase except for restore view.

+ + ]]>
+ beforePhase + false + void beforePhase(jakarta.faces.event.PhaseEvent) + +
+ + Specifies the + content-type of the response.

+ ]]>
+ contentType + false + java.lang.String +
+ + A comma separated list of + resource library contracts that may be used from within + the Facelets chain. If this attribute is present, it + must only be on the outer-most file in the chain of + files that started ultimately with a call to + ViewDeclarationLanguage.createView(). Any + use of this attribute on a non-outer-most file is undefined.

+ +

If this attribute exists on the tag, + empty or not, the tag handler must create a + List<String> for the value of the attribute and + unconditionally call + FacesContext.setRresourceLibraryContracts() passing + that list value.

+ + ]]>
+ contracts + false + java.lang.String +
+ + Specifies the + character encoding that should be used for the + response.

+ ]]>
+ encoding + false + java.lang.String +
+ + Locale to use for localizing this page. Expressions + must evaluate to a java.util.Locale or to a String + that is converted to a Locale.

+ ]]>
+ locale + java.lang.Object +
+ + + renderKitId + false + java.lang.String + + + + If + true, this view must not participate in + state saving or restoring. Note that transient views + may not be used with @ViewScoped managed + beans. The implementation must call + setTransient() on the + UIViewRoot, passing the value of the + attribute as specified in the markup.

]]> +
+ transient + false + java.lang.Boolean +
+ + +
+ + + This action component specifies + an application-specific command (or action), using an EL + method expression, to be invoked during one of the Faces + lifecycle phases, by default Invoke Application.

+ + ]]>
+ viewAction + + jakarta.faces.ViewAction + + + MethodExpression representing the application action + to invoke when this component is activated by the user. The + expression must evaluate to a public method that takes no + parameters, and returns an Object (the toString() of which + is called to derive the logical outcome) which is passed to + the NavigationHandler for this application.

+ + ]]>
+ action + true + public + java.lang.Object action() + + +
+ + + + MethodExpression representing an action listener method that + will be notified when this component is activated by the user. + The expression must evaluate to a public method that takes an + ActionEvent parameter, with a return type of void, or to a public method that takes no + arguments with a return type of void. In the latter case, the + method has no way of easily knowing where the event came from, + but this can be useful in cases where a notification is needed + that "some action happened". + +

+ ]]>
+ actionListener + false + public void + actionListener(jakarta.faces.event.ActionEvent) + +
+ + Flag indicating that, if this component is activated + by the user, notifications should be delivered to + interested listeners and actions immediately (that is, + during Apply Request Values phase) rather than waiting + until Invoke Application phase.

+ ]]>
+ immediate + false + java.lang.Boolean +
+ + View actions are most commonly used on the initial + view request. Therefore, view actions do not operate on + postback, by default. This attribute enables a view action + to operate on postback.

+ ]]>
+ onPostback + false + java.lang.Boolean +
+ + Specifies the phase in which the action invocation + should occur using the name of the phase constant in the + PhaseId class (the case does not matter). The value must + be one of APPLY_REQUEST_VALUES, PROCESS_VALIDATIONS, + UPDATE_MODEL_VALUES, or INVOKE_APPLICATION. The default + is INVOKE_APPLICATION.

+ ]]>
+ phase + false + java.lang.String +
+ + Like all children of <f:metadata>, + a view action has no visual representation in the view. + This attribute has exactly the same effect on a view action + as the rendered attribute has on a visual + component. Specifically, if the value of this attribute + evaluates to false the component has no + effect.

+ ]]>
+ if + false + java.lang.Boolean +
+
+ + + Used inside of the + metadata facet of a view, this tag causes a UIViewParameter + to be attached as metadata for the current view. Because + UIViewParameter extends UIInput + all of the attributes and nested child content for any + UIInput tags are valid on this tag as well.

+ + ]]>
+ viewParam + + jakarta.faces.Parameter + + + + The ValueExpression linking this component to a property in a + backing bean.

+ ]]>
+ binding + false + jakarta.faces.component.UIComponent +
+ + Converter instance registered with this component.

+ ]]>
+ converter + false + jakarta.faces.convert.Converter +
+ + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter.

+ ]]>
+ converterMessage + false + java.lang.String +
+ + If present, this + attribute refers to the value of one of the exposed + attached objects within the composite component inside + of which this tag is nested.

+ + ]]>
+ for + false + java.lang.String +
+ + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container.

+ ]]>
+ id + false + java.lang.String +
+ + The name + of the request parameter from which the value for this + component is retrieved on an initial request or to + override the stored value on a postback.

+ ]]>
+ name + true + java.lang.String +
+ + + Flag indicating that the user is required to provide a submitted + value for this input component.

+ ]]>
+ required + false + boolean +
+ + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used.

+ ]]>
+ requiredMessage + false + java.lang.String +
+ + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void.

+ ]]>
+ validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + +
+ + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator.

+ ]]>
+ validatorMessage + false + java.lang.String +
+ + A ValueExpression to which the value of the request parameter, as + determined by the name attribute, is bound. The resolved value of this + expression is used when encoding the view parameter into a bookmarkable link or + redirect URL with view parameter encoding enabled. If this attribute is omitted, + the value of the request parameter will instead be the local value of the + UIViewParameter.

+ ]]>
+ value + false + java.lang.Object +
+ + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent + parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+ valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + +
+ + + maxlength + false + int + +
+ + + Registers a websocket push + connection in client side by rendering the necessary scripts. + Push messages can be sent from server side via + jakarta.faces.push.PushContext interface. See also + jakarta.faces.push.Push API documentation for an + elaborate instruction on how to use + <f:websocket>.

+ + ]]>
+ websocket + + jakarta.faces.Websocket + + + + + Value binding expression to a backing bean property bound to the component instance for the UIComponent created by this tag. +

+ ]]>
+ binding + false + jakarta.faces.component.UIComponent +
+ + + + Component identifier of the UIWebsocket component to be created. +

+ ]]>
+ id + false + java.lang.String +
+ + + + The name of the websocket channel. + It may not be an EL expression and it may only contain alphanumeric characters, hyphens, underscores and periods. + All open websockets on the same channel name will receive the same push notification from the server. +

+ ]]>
+ channel + true +
+ + + + The scope of the websocket channel. + It may not be an EL expression and allowed values are application, session and view, case insensitive. + When the value is application, then all channels with the same name throughout the application will receive the same push message. + When the value is session, then only the channels with the same name in the current user session will receive the same push message. + When the value is view, then only the channel in the current view will receive the push message. + The default scope is application. + When the user attribute is specified, then the default scope is session. +

+ ]]>
+ scope + false +
+ + + + The user identifier of the websocket channel, so that user-targeted push messages can be sent. + It must implement Serializable and preferably have low memory footprint. + Suggestion: use #{request.remoteUser} or #{someLoggedInUser.id}. + All open websockets on the same channel and user will receive the same push message from the server. +

+ ]]>
+ user + false + java.io.Serializable +
+ + + + The JavaScript event handler function that is invoked when the websocket is opened. + The function will be invoked with one argument: the channel name. +

+ ]]>
+ onopen + false + java.lang.String +
+ + + + The JavaScript event handler function that is invoked when a push message is received from the server. + The function will be invoked with three arguments: the push message, the channel name and the raw MessageEvent itself. +

+ ]]>
+ onmessage + false + java.lang.String +
+ + + + The JavaScript event handler function that is invoked when a connection error has occurred and the websocket will attempt to reconnect. + The function will be invoked with three arguments: the error reason code, the channel name and the raw CloseEvent itself. + Note that this will not be invoked on final close of the websocket, even when the final close is caused by an error. + See also + RFC 6455 section 7.4.1 + and + CloseCodes + API for an elaborate list of all close codes. +

+ ]]>
+ onerror + false + java.lang.String +
+ + + + The JavaScript event handler function that is invoked when the websocket is closed and will not anymore attempt to reconnect. + The function will be invoked with three arguments: the close reason code, the channel name and the raw CloseEvent itself. + Note that this will also be invoked when the close is caused by an error and that you can inspect the close reason code if an actual connection error occurred and which one (i.e. when the code is not 1000 or 1008). + See also + RFC 6455 section 7.4.1 + and + CloseCodes + API for an elaborate list of all close codes. +

+ ]]>
+ onclose + false + java.lang.String +
+ + + + Whether to (auto)connect the websocket or not. + Defaults to true. + It's interpreted as a JavaScript instruction whether to open or close the websocket push connection. + This attribute is implicitly re-evaluated on every ajax request by a PreRenderViewEvent listener on the UIViewRoot. + You can also explicitly set it to false and then manually control in JavaScript by faces.push.open(clientId) and faces.push.close(clientId). +

+ ]]>
+ connected + false + java.lang.Boolean +
+ + + + Whether to render the websocket scripts or not. + Defaults to true. + This attribute is implicitly re-evaluated on every ajax request by a PreRenderViewEvent listener on the UIViewRoot. + If the value changes to false while the websocket is already opened, then the websocket will implicitly be closed. +

+ ]]>
+ rendered + false + java.lang.Boolean +
+
+ + + Reset specific input values. + Interpret the value of the render attribute as + a space separated list of client identifiers suitable for + passing directly to UIViewRoot.resetValues(). + The implementation must cause an ActionListener + to be attached to the ActionSource component + in which this tag is nested that calls + UIViewRoot.resetValues() passing the value of + the render attribute as the argument.

+ ]]>
+ resetValues + + + Evaluates to + Collection<String>. The clientIds of components + that will be passed to + UIViewRoot.resetValues(). The identifiers + must be space delimited.

+ ]]>
+ render + true + java.util.Collection +
+ + If present, this attribute refers + to the value of one of the exposed attached objects within the + composite component inside of which this tag is nested.

+ ]]>
+ for + false + java.lang.String +
+
+
diff --git a/api/src/main/vdldoc/faces.facelets.taglib.xml b/api/src/main/vdldoc/faces.facelets.taglib.xml new file mode 100644 index 00000000000..24c04df6dd4 --- /dev/null +++ b/api/src/main/vdldoc/faces.facelets.taglib.xml @@ -0,0 +1,1038 @@ + + + + + Jakarta Faces Facelets Tag Library

+ +
+ +

The tags in this + library add templating — a powerful view composition + technique — to Faces. Templating is so useful that there + are entire frameworks, such as Tiles and SiteMesh, that are + built around the concept of templating. So what is templating, + how can you benefit from it, and how does this tag library + implement it?

+ +

If you've used Jakarta Server Pages before, you've probably used jsp:include. + The prototypical example for + jsp:include is a header on each page in a web + application. One Jakarta Server Pages page, say header.jsp, + encapsulates the header content, and the header is included by each + page. You encapsulate and reuse + content, so that changes to one file, header.jsp, affect the + header on every page. +

+ +

This tab library contains a tag —ui:include — + that's analagous to jsp:include, + but encapsulating and reusing content is only half the templating story, + because templating also lets you + encapsulate and reuse layout. + You define a single template (meaning layout), and + you reuse + that template with multiple compositions. So now + you can control the layout of many pages with a single + template (layout). Let's take a look at an example. +

+ +

A Templating Example

+ +

+ First, we define a template: +

+
  1. <!DOCTYPE html>
  2. +
  3. <html xmlns:ui="jakarta.faces.facelets">
  4. + +
  5.     <head>
  6. +
  7.       + <link + href="styles.css" + rel="stylesheet" + type="text/css"/>
  8. + +
  9.       + <title><ui:insert + name="title">Default Title</ui:insert></title>
  10. +
  11.     </head>
  12. + +
  13.  
  14. +
  15.     <body>
  16. +
  17.       + <ui:debug/>
  18. +
  19.       + <div + class="heading">
  20. + +
  21.       +   <ui:insert + name="heading"/>
  22. +
  23.       + </div>
  24. +
  25.  
  26. + +
  27.       + <div + class="content">
  28. +
  29.       +   <ui:insert + name="content"/>
  30. + +
  31.       + </div>
  32. +
  33.     </body>
  34. +
  35. </html> +
+ +

+ In the preceeding listing, we've defined a layout, also known as a + template. That template uses the + ui:insert tag to insert pieces of a page — namely, + title, heading, and content — + defined in a composition. Notice that on line 8, we + define a default title, in case one isn't provided + by the composition. Also note that on line 12 we have the ui:debug + tag, which lets the user activate + a popup window with debugging information by typing CTRL + Shift + d. +

+ +

+ The title, heading, and content pieces of the page referenced in the + template are defined in a separate XHTML + file in a composition, like this: +

+ +
  1. <!DOCTYPE html>
  2. +
  3. <html xmlns:ui="jakarta.faces.facelets">
  4. + +
  5.   <body>
  6. +
  7.     <ui:composition + template="/layout.xhtml">
  8. +
  9.  
  10. +
  11.       + <ui:define + name="title">A List of Contacts</ui:define>
  12. + +
  13.       + <ui:define + name="heading">Contacts</ui:define>
  14. +
  15.  
  16. +
  17.       + <ui:define + name="content">
  18. + +
  19.       +   <ui:include + src="contactsTable.xhtml" + />
  20. +
  21.       + </ui:define>
  22. + +
  23.       +    
  24. +
  25.     </ui:composition>
  26. +
  27.   </body>
  28. +
  29. </html> +
+ +

+ At runtime, Faces synthesizes the two previous XHTML pages to create a + single Faces view by inserting the + pieces defined in the composition into the template (that template is + layout.xhtml, which is the first + listing above). Faces also disregards everything outside of the composition + tag so that we don't + wind up with two body elements in the view. + Also, note that we use the ui:include + tag on line 14 to include content (which happens to be a table) from + another XHTML page, so that we can reuse + that table in other views. +

+ +

+ So why do we have two XHTML pages to define a single view? Why not + simply take the pieces and manually insert + them into the layout so that we have only a single XHTML page? The + answer is simple: we have separated layout + from the content so that we can reuse that layout + among multiple compositions. For example, now we can + define another composition that uses the same layout: +

+ +
  1. <!DOCTYPE html>
  2. +
  3. <html xmlns:ui="jakarta.faces.facelets">
  4. + +
  5.   <body>
  6. +
  7.     <ui:composition + template="/layout.xhtml">
  8. + +
  9.  
  10. + +
  11.       + <ui:define + name="title">Create a Contact</ui:define>
  12. + +
  13.       + <ui:define + name="heading">Create Contact</ui:define>
  14. + +
  15.  
  16. +
  17.       + <ui:define + name="content">
  18. +
  19.       +   <ui:include + src="createContactForm.xhtml"/>
  20. + +
  21.       + </ui:define>
  22. + +
  23.  
  24. + +
  25.     </ui:composition>
  26. +
  27.   </body>
  28. +
  29. </html> +
+ +

+ By encapsulating the layout, we can reuse that layout among multiple + compositions. Just like + ui:include lets us encapsulate and reuse + conent, Faces compositions let us encapsulate and reuse + layout, so that changes to a single layout can affect multiple views. + Fundamentally, that's what this + tag library is all about. +

+ +
+
+
+]]>
+    jakarta.faces.facelets
+    
+        This tag is the same as 
+  ui:composition, except for two things: Faces creates a
+  component and adds it directly to the tree, and there's no associated
+  template.
+  

+ +

Use this tag to create a component and + specify a filename for the component as either the source of a + ui:include, or the source of a Facelets tag. +

+ + ]]>
+ component + + + +

+ The identifier of the component that Faces inserts into the + component tree. If an identifier is + not explicitly specified by the page author, Faces will assign an + identifier based on the algorithm + that it uses for all components. +

+ + + ]]>
+ id + false + java.lang.String +
+ + +

+ + Binds the component to a backing bean property, as specified in + section 3.1.5 "Component Bindings" of the Jakarta Faces Specification Document. + The + Java language type of this property must be a class that extends + jakarta.faces.component.UIComponent. The scope of + the bean on which this property resides must be no wider than + request scope. If either of these conditions are not met, the + results are undefined. + +

+ + ]]>
+ binding + false + java.lang.String +
+ + +

+ Controls whether the component is rendered. Valid values for this attribute are either the strings "true" or "false" or an EL expression that evaluates to either "true" or "false".

If this attribute's value is "false" or the value is an EL expression that evaluates to "false", the component is not rendered in the page.

+

+ + + ]]>
+ rendered + false + boolean +
+ +
+ + +

+ +Defines a composition that +optionally uses a template, as outlined in the description of the ui tag +library. Multiple compositions can use the same template, thus +encapsulating and reusing layout. Faces disregards everything outside of +the composition, which lets developers embed compositions in well-formed +XHTML pages that can be viewed in an XHTML viewer, such as Dreamweaver +or a browser, without including extraneous elements such as +head and body. + +

+
  1. <!DOCTYPE html>
  2. +
  3. <html xmlns:ui="jakarta.faces.facelets">
  4. +
  5.   <body>
  6. +
  7.  
  8. +
  9.     THIS LINE, AND EVERYTHING ABOVE IT IS DISREGARDED BY FACELETS
  10. +
  11.     <ui:composition template="/layout.xhtml">
  12. + +
  13.  
  14. +
  15.       <ui:define name="title">#{msgs.contactsWindowTitle}</ui:define>
  16. +
  17.       <ui:define name="heading">#{msgs.contactsHeading}</ui:define>
  18. + +
  19.  
  20. +
  21.       <ui:define name="content">
  22. +
  23.         <ui:include src="contactsTable.xhtml" />
  24. + +
  25.       </ui:define>
  26. +
  27.          
  28. +
  29.     </ui:composition>
  30. +
  31.     THIS LINE, AND EVERYTHING BELOW IT IS DISREGARDED BY FACELETS
  32. + +
  33.  
  34. +
  35.   </body>
  36. +
  37. </html>
+ + + + + ]]>
+ composition + + + +

+ +A URI that points to a +template, also known as a layout, that inserts pieces of the page +defined in the composition. If the URI +cannot be resolved a TagAttributeException must be thrown, +including accurate location information to help the page author resolve +the problem. When the template is intended to come from a resource +library contract, the value of this attribute must be an absolute path +starting with "/". + +

+ + ]]>
+ template + false + java.lang.String +
+
+ + +

+ When the ui:debug tag is placed in an XHTML + page, it creates a component and adds it to the + component tree. That debug component captures debugging information, + namely the current state of the component + tree and the scoped variables in the application, when the component + is rendered. If the user presses CTRL + SHIFT + d, + Faces opens a window that shows the debugging information captured by + the debug component. +

+ +

+ Typically, the best place to put the ui:debug + tag is in an application's main template, which + lets developers enable or disable viewing of debugging information + in one central location. Additionally, page + authors can change the hotkey (which by default is CTRL + SHIFT + d, + where the d stands for debug) to CTRL + SHIFT + ?, + where ? represents the key specified as the value of the hotkey + attribute. +

+ +

+ You can use the rendered attribute to + control whether the debug component is rendered. + Using an EL expression as the value for the rendered + attribute lets you control whether + debug output is enabled for multiple views based on a single bean + property. +

+ +

+ Note ui:debug only works when the ProjectStage is set to Development. +

+ + + ]]>
+ debug + + + +

+ Defines a single character, that, pressed in conjunction with + CTRL and SHIFT, will display the Faces debug window. + By default, the hotkey is 'd'. The value for the + hotkey attribute cannot be an EL expression. +

+ + + + ]]>
+ hotkey + false + java.lang.String +
+ + +

+ Controls whether the debug component is rendered. Valid values + for this attribute are either the strings "true" or "false" or + an EL expression that evaluates to either "true" or "false".

If + this attribute's value is "false" or the value is an EL + expression that evaluates to "false", the debug component is not + rendered in the page, the hotkey attribute is disregarded, and + users cannot open the debugging information window with a + hotkey.

+

+ + + + ]]>
+ rendered + false + java.lang.String +
+
+ + + +

The define tag defines content + that is inserted into a page by a template. The define + tag can be used inside ui:composition, ui:component, + ui:decorate, and ui:fragment + tags.

+ +

Content defined by the define tag + can be inserted into a page by using ui:insert. +

+ + + + ]]>
+ define + + + + +

Assigns a name to the content inside a define + tag. That name is used by corresponding ui:insert + tags in a template that insert the named content into a page.

+ + + ]]>
+ name + true + java.lang.String +
+
+ + + +

+The decorate tag +is identical to the composition tag, except that +ui:decorate, unlike ui:composition, does not +disregard all content outside of the tag. The decorate is +useful when you want to decorate some content in a page, for example, +you might want to decorate a list of items, like this: + +

  1. + +<ui:decorate template="/layout.xhtml" xmlns:ui="jakarta.faces.facelets">
  2. +
  3.   <ui:define name="listHeading">
  4. + +
  5.     <ui:include src="shared/listHeading.xhtml"/>
  6. +
  7.   </ui:define>
  8. +
  9.        
  10. +
  11.   <c:forEach items="#{items}" var="item">
  12. + +
  13.     ...
  14. +
  15.   </c:forEach>
  16. +
  17.   ...
  18. +
  19. </ui:decorate>
+

+ +Because Faces does not disregard everything outside of the ui:decorate tag, ui:decorate can +be used to decorate pieces of a page. + + + ]]>
+ decorate + + + + +A URI that points to a +template, also known as a layout, that inserts pieces of the page +defined in the decorator. If the URI +cannot be resolved a TagAttributeException must be thrown, +including accurate location information to help the page author resolve +the problem. When the template is intended to come from a resource +library contract, the value of this attribute must be an absolute path +starting with "/". + + + + ]]> + template + false + java.lang.String + +
+ + + +

The fragment + tag is identical to the component tag, except + that ui:fragment, unlike + ui:component, Faces does not disregard all content + outside of the tag.

+ + + + ]]>
+ fragment + + + + The identifier of the component that Faces inserts into the + component tree. If an identifier is + not explicitly specified by the page author, Faces will assign an + identifier based on the algorithm + that it uses for all components. + + + ]]> + id + false + java.lang.String + + + + +

Binds the component to a backing bean property, as specified + in section 3.1.5 "Component Bindings" of the Jakarta Faces Specification Document. + The + Java language type of this property must be a class that extends + jakarta.faces.component.UIComponent. The scope of + the bean on which this property resides must be no wider than + request scope. If either of these conditions are not met, the + results are undefined.

+ + + ]]>
+ binding + false + java.lang.String +
+ + + +

+ Controls whether the fragment component is rendered. + Valid values for this attribute are either the strings + "true" or "false" or an EL expression that evaluates to + either "true" or "false". +

+

+ If this attribute's value is "false" or the value is an + EL expression that evaluates to "false", the fragment + is not rendered in the page. +

+ + ]]> +
+ rendered + false + java.lang.String +
+
+ +

Use this tag —which + is very similar to JSP's jsp:include — to + encapsulate and reuse content among multiple XHTML + pages. There are three things this tag can include: plain + XHTML, and XHTML pages that have either a + composition tag or a component + tag.

You supply a filename, through + ui:include's src attribute for Faces + to include. That filename is relative to the XHTML file that + was rendered as a result of the last request. So, for + example, if Faces loaded the view login.xhtml, + and that file included + pageDecorations/header.xhtml, and + pageDecorations/header.xhtml included + companyLogo.xhtml, then + companyLogo.xhtml will not be found if it's in + the pageDecorations directory, because + companyLogo.xhtml has to be in the same + directory as login.xhtml.

+ + + + ]]>
+ include + + + + +The filename of an XHTML page to +include. The filename is relative to the XHTML page that was originally +loaded. When the included file is +intended to come from a resource library contract, the value of this +attribute must be an absolute path starting with "/". + +

+ ]]>
+ src + true + java.lang.String +
+
+ + +

Inserts content into a template. That content is defined —with + the ui:define tag — in either a + ui:composition, ui:component, + ui:decorate, or ui:fragment.

+ + + ]]>
+ insert + + + + + The optional name attribute matches the associated <ui:define/> + tag in this template's client. If no name is specified, it's + expected + that the whole template client will be inserted. + + + + ]]> + name + false + java.lang.String + +
+ + +

Use this tag to pass parameters to an included file (using + ui:include), or a template + (linked to either a composition or decorator). Embed ui:param + tags in either ui:include, + ui:composition, or ui:decorate + to pass the parameters. + + + ]]> + param + + + +The name of the parameter. + + ]]> + name + true + java.lang.String + + + + The value of the + parameter. Notice that this attribute's value can be an EL expression, + which means that you can pass objects to either an included file or a + template. + + ]]> + value + true + java.lang.String + + + + + +

Use this tag as an alternative to + h:dataTable or c:forEach

+ + ]]>
+ repeat + + + + +

+ If the value attribute is not specified: iteration begins with the specified number (inclusive) as item. + If the value attribute is specified: a FacesException must be thrown. + If the corresponding end attribute is not specified: use 0 as default. + The corresponding end attribute may be less than the beginbegin attribute: iteration will take place in a reversed manner. +

+ + ]]> +
+ begin + false + int +
+ + + +

+ If the value attribute is not specified: iteration ends with the specified number (inclusive) as item. + If the value attribute is specified: a FacesException must be thrown. + If the corresponding begin attribute is not specified: use 0 as default. + The corresponding begin attribute may be greater than the end attribute: iteration will take place in a reversed manner. +

+ + ]]> +
+ end + false + int +
+ + + +

+ If the value attribute is specified: iteration begins with the specified number as index. + If the value attribute is not specified: a FacesException must be thrown. + If the offset attribute is not specified: use 0 as default. + If the offset attribute is less than 0 or is greater than the size of the actual collection behind the value attribute: a FacesException must be thrown. +

+ + ]]> +
+ offset + false + int +
+ + + +

+ If the value attribute is specified: iteration ends when the specified number of times has been iterated (inclusive). + If the value attribute is not specified: a FacesException must be thrown. + If the size attribute is not specified: use the size of the actual collection behind the value attribute as default. + If the sum of the size attribute and the offset attribute is less than 0 or is greater than the size of the actual collection behind the value attribute: a FacesException must be thrown. + If the step attribute is specified: each skipped item must also be counted for the size attribute. +

+ + ]]> +
+ size + false + int +
+ + + +

+ Iteration will only process every step items of the collection, starting with the first one. + If the step attribute is less than 1: a FacesException must be thrown. +

+ + ]]> +
+ step + false + int +
+ + + +

The name of a collection of items that this tag + iterates over. The + collection may be a List, array, + java.sql.ResultSet, java.lang.Iterable, + java.util.Map or an individual java Object. If the + collection is null, this tag does nothing.

+ + + + ]]>
+ value + true + java.lang.Object +
+ + + +

+ Name of the exported scoped variable for the current item of + the iteration. This scoped variable has nested visibility. +

+ + ]]> +
+ var + true + java.lang.String +
+ + + +

+ Name of the exported request scoped variable for the status + of the iteration. The object the name points to is a POJO + with the following read-only JavaBeans properties. This + scoped variable has nested visibility. +

+

begin of type Integer

+

end of type Integer

+

index of type int

+

step of type Integer

+

even of type boolean

+

odd of type boolean

+

first of type boolean

+

last of type boolean

+ + ]]> +
+ varStatus + false + java.lang.String +
+ + + +

+ Controls whether the repeat component is rendered. + Valid values for this attribute are either the strings + "true" or "false" or an EL expression that evaluates to + either "true" or "false". +

+

+ If this attribute's value is "false" or the value is an + EL expression that evaluates to "false", the repeat + is not rendered in the page. +

+ + ]]> +
+ rendered + false + java.lang.String +
+ + + +

+ Boolean flag directing how the per-row component state of EditableValueHolder children should be handled across requests on the same view. + If set to true, then state for EditableValueHolder components in each row will not be discarded before a new row is rendered. + If not specified, the default value is false. +

+

+ This attribute should be set only when the current repeat component contains UIForm children which in turn contains EditableValueHolder children. + This will only work reliably when the data model of the current repeat component does not change across requests on the same view by e.g. sorting, adding or removing rows. + The alternative is to use c:forEach instead. +

+ + ]]> +
+ rowStatePreserved + false + boolean +
+
+ + +

Remove content from a page.

+ + + ]]>
+ remove + + +
+ diff --git a/api/src/main/vdldoc/faces.html.taglib.xml b/api/src/main/vdldoc/faces.html.taglib.xml new file mode 100644 index 00000000000..e3c2ec8a67f --- /dev/null +++ b/api/src/main/vdldoc/faces.html.taglib.xml @@ -0,0 +1,11823 @@ + + + + + Jakarta Faces HTML Tag Library

+ +

This tag library contains Jakarta Faces component tags for all + UIComponent + HTML RenderKit Renderer combinations as defined in + section 9.5 "Standard HTML RenderKit Tag Library" of the Jakarta Faces Specification Document.

+ ]]>
+ jakarta.faces.html + + + Render an HTML "input" element of type "button". + The value of the component is rendered as the button text and the outcome of the + component is used to determine the target URL which is activated by onclick. If + "image" attribute is specified, render it as the value of the "src" attribute after + passing it to the getResourceURL() method of the ViewHandler + for this application, and passing the result through the encodeResourceURL() + method of the ExternalContext. Any child UIParameter components + are appended to the String to be used as the target URL as query parameters before rendering. + The entire target URL string must be passed through a call to the encodeResourceURL() + method of the ExternalContext. The name of the UIParameter goes on the + left hand side, and the value of the UIParameter on the right hand side. The name + and the value must be URLEncoded. Each UIParameter instance is separeted by an + ampersand, as dictated in the URL spec. The final encoded result will be written out to the + onclick attribute of the button as "window.location.href = ''". + If the developer has specified a custom onlclick the window.location.href name/value + pair will be appended at the end of the developer specified script. + If the "fragment" attribute is specified, the value will be included at the end + of the resulting URL preceded by a hash mark. If the "styleClass" attribute is specified, + render its value as the value of the "class" attribute. If the "id" attribute is specified, + follow the same steps as mentioned in the "General + Notes on Encoding" regarding the "id" attribute for UIInput components. If the + "disabled" attribute is specified, do not render the "onclick" element and assign the + "disabled" attribute a value of true.]]> + + button + + jakarta.faces.HtmlOutcomeTargetButton + jakarta.faces.Button + + + + Flag indicating that this element must never + receive focus or be included in a subsequent + submit.

]]> +
+ + disabled + + + false + + + boolean + +
+ + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]> +
+ role + false + java.lang.String +
+ + + + + + + id + + + false + + + java.lang.String + + + + + + + + includeViewParams + + + false + + + java.lang.Boolean + + + + + + + + outcome + + + false + + + java.lang.String + + + + + + + + rendered + + + false + + + boolean + + + + + + + + value + + + false + + + java.lang.Object + + + + + + + + accesskey + + + false + + + java.lang.String + + + + + This attribute is ignored when the image attribute is not specified.]]> + + + alt + + + false + + + java.lang.String + + + + + + + + dir + + + false + + + java.lang.String + + + + + + + + fragment + + + false + + + java.lang.String + + + + + + Absolute or relative URL of the + image to be displayed for this + button. If specified, this + "input" element will be of type + "image". Otherwise, it will be + of the type specified by the + "type" property with a label + specified by the "value" + property. Note + that if the value of this + attribute starts with "/", the + rendered value for this + attribute will be prefixed with + the context-root for this + application. +

]]> +
+ + image + + + false + + + java.lang.String + +
+ + + + + + lang + + + false + + + java.lang.String + + + + + + + + onblur + + + false + + + java.lang.String + + + + + + + + onclick + + + false + + + java.lang.String + + + + + + + + ondblclick + + + false + + + java.lang.String + + + + + + + + onfocus + + + false + + + java.lang.String + + + + + + + + onkeydown + + + false + + + java.lang.String + + + + + + + + onkeypress + + + false + + + java.lang.String + + + + + + + + onkeyup + + + false + + + java.lang.String + + + + + + + + onmousedown + + + false + + + java.lang.String + + + + + + + + onmousemove + + + false + + + java.lang.String + + + + + + + + onmouseout + + + false + + + java.lang.String + + + + + + + + onmouseover + + + false + + + java.lang.String + + + + + + + + onmouseup + + + false + + + java.lang.String + + + + + + + + style + + + false + + + java.lang.String + + + + + + + + styleClass + + + false + + + java.lang.String + + + + + + + + tabindex + + + false + + + java.lang.String + + + + + + + + title + + + false + + + java.lang.String + + + + + The ValueExpression linking this component to a property in a + backing bean + + + binding + + + false + + + jakarta.faces.component.UIComponent + + + + + Disable appending the ClientWindow on the rendering of this element.

]]> +
+ disableClientWindow + false + java.lang.Boolean +
+ +
+ + + Render an HTML "a" anchor element. The value of the + component is rendered as the anchor text and the outcome of the component is used + to determine the target URL rendered in the "href" attribute. Any + child UIParameter components are appended to the String to be + output as the value of the "href" attribute as query parameters + before rendering. The entire "href" string must be passed through + a call to the encodeResourceURL() method of the + ExternalContext. The name of the UIParameter goes on + the left hand side, and the value of the UIParameter on the right + hand side. The name and the value must be URLEncoded. Each + UIParameter instance is separated by an ampersand, as dictated in + the URL spec. If the "fragment" attribute is specified, the value will be + included at the end of the resulting URL preceded by a hash mark. + If the "styleClass" attribute is specified, render + its value as the value of the "class" attribute. If the "id" attribute + is specified, follow the same steps as mentioned in the + "General + Notes on Encoding" regarding the "id" attribute for UIInput components. + If the "disabled" attribute is specified, do not render the HTML "a" + anchor element or the "href" element. Instead, render a "span" element. + If the "styleClass" attribute is specified, render its value as the value + of the "class" attribute on the "span". Render any pass-through attributes + on the "span".]]> + + link + + jakarta.faces.HtmlOutcomeTargetLink + jakarta.faces.Link + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

+ +

It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

]]> +
+ role + false + java.lang.String +
+ + + Disable appending the ClientWindow on the rendering of this element.

]]> +
+ disableClientWindow + false + java.lang.Boolean +
+ + + + + + id + + + false + + + java.lang.String + + + + + + + + includeViewParams + + + false + + + java.lang.Boolean + + + + + + + + outcome + + + false + + + java.lang.String + + + + + + + + rendered + + + false + + + boolean + + + + + + + + value + + + false + + + java.lang.Object + + + + + + + + accesskey + + + false + + + java.lang.String + + + + + + + + charset + + + false + + + java.lang.String + + + + + + + + coords + + + false + + + java.lang.String + + + + + + + + dir + + + false + + + java.lang.String + + + + + + + + disabled + + + false + + + boolean + + + + + + + + fragment + + + false + + + java.lang.String + + + + + + + + hreflang + + + false + + + java.lang.String + + + + + + + + lang + + + false + + + java.lang.String + + + + + + + + onblur + + + false + + + java.lang.String + + + + + + + + onclick + + + false + + + java.lang.String + + + + + + + + ondblclick + + + false + + + java.lang.String + + + + + + + + onfocus + + + false + + + java.lang.String + + + + + + + + onkeydown + + + false + + + java.lang.String + + + + + + + + onkeypress + + + false + + + java.lang.String + + + + + + + + onkeyup + + + false + + + java.lang.String + + + + + + + + onmousedown + + + false + + + java.lang.String + + + + + + + + onmousemove + + + false + + + java.lang.String + + + + + + + + onmouseout + + + false + + + java.lang.String + + + + + + + + onmouseover + + + false + + + java.lang.String + + + + + + + + onmouseup + + + false + + + java.lang.String + + + + + + + + rel + + + false + + + java.lang.String + + + + + + + + rev + + + false + + + java.lang.String + + + + + + + + shape + + + false + + + java.lang.String + + + + + + + + style + + + false + + + java.lang.String + + + + + + + + styleClass + + + false + + + java.lang.String + + + + + + + + tabindex + + + false + + + java.lang.String + + + + + + + + target + + + false + + + java.lang.String + + + + + + + + title + + + false + + + java.lang.String + + + + + + + + type + + + false + + + java.lang.String + + + + + The ValueExpression linking this component to a property in a + backing bean + + + binding + + + false + + + jakarta.faces.component.UIComponent + + +
+ + + Render the markup for a <head> element.

+ +

Decode Behavior

+ +
    + +

    No action is required during decode for this renderer.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the starting <head> element tag. Any attributes declared on the element must be passed through + unmodified to the rendered output. + Just before rendering the + closing </head> element tag, render any resources that have been targeted + for this "head" element: +

      +
    • Obtain a UIViewRoot instance.
    • +
    • Obtain a List of component resources targeted for + this "head" element with a call to UIViewRoot.getComponentResources() + with the String "head" as the argument.
    • +
    • Iterate over the returned List of UIComponent instances + and call encodeAll on each UIComponent instance. + +

      Any attributes declared on the element must be passed through + unmodified to the rendered output.

      + +
    + Render the ending </head> element tag.

    + + ]]> + + head + + jakarta.faces.Output + jakarta.faces.Head + + + + + The component identifier for this component. + This value must be unique within the closest parent component that is a naming container. + The attribute is only rendered when the current doctype is a HTML5 doctype. + + ]]> + + id + false + java.lang.String + + + + + + + dir + + + false + + + java.lang.String + + + + + + + + lang + + + false + + + java.lang.String + + + + + The ValueExpression linking this component to a property in a + backing bean + + + binding + + + false + + + jakarta.faces.component.UIComponent + + + + + + Render the markup for a <body> element.

    + +

    Decode Behavior

    + +
      + +

      No action is required during decode for this renderer.

      + +
    + +

    Encode Behavior

    + +
      + +

      Render the starting <body> element tag. Just before rendering the + closing </body> element tag, render any resources that have been targeted + for this "body" element: +

        +
      • Obtain a UIViewRoot instance.
      • + +
      • Obtain a List of component resources targeted for + this "body" element with a call to + UIViewRoot.getComponentResources() with the + String "body" as the argument. Render the ending + </body> element tag.
      • + +
      • Iterate over the returned List of UIComponent instances + and call encodeAll on each UIComponent instance. +
      + +

      Any attributes declared on the element must be passed through + unmodified to the rendered output.

      + + ]]> + + body + + jakarta.faces.Output + jakarta.faces.Body + + + + + The component identifier for this component. + This value must be unique within the closest parent component that is a naming container. + The attribute is only rendered when the current doctype is a HTML5 doctype. + + ]]> + + id + false + java.lang.String + + + + + + + dir + + + false + + + java.lang.String + + + + + + + + lang + + + false + + + java.lang.String + + + + + + + + onclick + + + false + + + java.lang.String + + + + + + + + ondblclick + + + false + + + java.lang.String + + + + + + + + onkeydown + + + false + + + java.lang.String + + + + + + + + onkeypress + + + false + + + java.lang.String + + + + + + + + onkeyup + + + false + + + java.lang.String + + + + + + + + onload + + + false + + + java.lang.String + + + + + + + + onmousedown + + + false + + + java.lang.String + + + + + + + + onmousemove + + + false + + + java.lang.String + + + + + + + + onmouseout + + + false + + + java.lang.String + + + + + + + + onmouseover + + + false + + + java.lang.String + + + + + + + + onmouseup + + + false + + + java.lang.String + + + + + + + + onunload + + + false + + + java.lang.String + + + + + + + + style + + + false + + + java.lang.String + + + + + + + + styleClass + + + false + + + java.lang.String + + + + + + + + title + + + false + + + java.lang.String + + + + + The ValueExpression linking this component to a property in a + backing bean + + + binding + + + false + + + jakarta.faces.component.UIComponent + + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      + + + + <p><span + class="changed_modified_2_0">Renders an HTML "input" + element.</p> + <p>Decode Behavior</p> + <ul> + <p>Obtain the <code>Map</code> from the + "requestParameterMap" + property of the <code>ExternalContext</code>. If the + value in the + <code>Map</code> for the value of the "clientId" + property of the + component is <code>null</code>, create a String by + concatenating + the value of the "clientId" property of the component with the + String ".x" (without the quotes). Create another String in the + same manner, but concatenate ".y" (without the quotes). If + <code>null</code> is the value in the <code>Map</code> + for both + Strings, return from <code>decode()</code>. If the value + in the + <code>Map</code> for the value of the "clientId" + property of the + component is not <code>null</code>, get the value of the + "type" + attribute, and convert it to lower case. If the result is equal + to the String "reset" (without the quotes), return from + <code>decode()</code>. Otherwise, create a + <code>jakarta.faces.event.ActionEvent</code> around the + component, + and pass it to the <code>queueEvent()</code> method of + the + component, which must be an instance of + <code>UICommand</code>.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>Render the clientId of the component as the value of the + "name" + attribute. Render the current value of the component as the value + of the "value" attribute. If "image" attribute is specified render + it as the value of the "src" attribute after passing it to the + <code>getResourceURL()</code> method of the + <code>ViewHandler</code> for this application, and + passing the + result through the <code>encodeResourceURL()</code> + method of the + <code>ExternalContext</code>. <span + class="changed_added_2_0">Note that calling + <code>getResourceURL()</code> will prefix the + context-root of the + current application if the value of the "src" attribute starts + with "/".</span> When handling the "image" attribute, the + value must not + be escaped. For example, <code>&</code> must not be + turned into + <code>&amp;amp;</code>. If the "styleClass" + attribute is + specified, render its value as the value of the "class" attribute. + If the user has specified an "onclick" attribute, append that + JavaScript to any existing JavaScript before rendering.</p> + <p class="changed_added_2_0">If the component being rendered + by + this renderer has any <code>UIParameter</code> children, + each one + of them must be rendered using the renderer for component-family: + "jakarta.faces.Input" and renderer-type: "jakarta.faces.Hidden". For + discussion, this is called the hiddenRenderer. A component with + component-type "jakarta.faces.Input" must be created for local use + in rendering each <code>UIParameter</code> child. The + "id" + property of the temporary component must be set to the "name" of + the <code>UIParameter</code>. The "value" property of + the + temporary component must be set to the "value" of the + <code>UIParameter</code>. For each <code>UIParameter</code> + child, the hiddenRenderer must have its + <code>encodeBegin()</code>, <code>encodeChildren()</code>, + and + <code>encodeEnd()</code> methods called, in order, + passing the + temporary component as the second argument.</p> + </ul> + + commandButton + + jakarta.faces.HtmlCommandButton + jakarta.faces.Button + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      + + + MethodExpression representing the application action to invoke + when this component is activated by the user. The expression + must evaluate to a public method that takes no parameters, and + returns an Object (the toString() of which is called to derive + the logical outcome) which is passed to the NavigationHandler + for this application. + + action + false + java.lang.Object action() + + + + <p> + MethodExpression representing an action listener method that + will be notified when this component is activated by the user. + The expression must evaluate to a public method that takes an + ActionEvent parameter, with a return type of void, <span + class="changed_added_2_0">or to a public method that takes no + arguments with a return type of void. In the latter case, the + method has no way of easily knowing where the event came from, + but this can be useful in cases where a notification is needed + that "some action happened".</span> + </p> + + actionListener + false + void actionListener(jakarta.faces.event.ActionEvent) + + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that, if this component is activated by the + user, + notifications should be delivered to interested listeners and + actions + immediately (that is, during Apply Request Values phase) rather + than + waiting until Invoke Application phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The current value of this component. + + value + false + java.lang.Object + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + This attribute is ignored when the image attribute is not specified. + ]]> + alt + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + <p> + Absolute or relative URL of the + image to be displayed for this + button. If specified, this + "input" element will be of type + "image". Otherwise, it will be + of the type specified by the + "type" property with a label + specified by the "value" + property. <span + class="changed_added_2_0">Note + that if the value of this + attribute starts with "/", the + rendered value for this + attribute will be prefixed with + the context-root for this + application.</span> + </p> + + image + false + java.lang.String + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + Type of button to create. Valid values are "submit", "button", + and "reset". If not specified, or not a valid value, the default + value is "submit". + + type + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + +
      + + + <p><span + class="changed_modified_2_0">Render</span> an HTML "a" + anchor + element that acts like a form submit button when + clicked.</p> + <p>General Behaviour</p> + <p>Both the encode and decode behavior require the ability to + get + the id/name for a hidden field, <span + class="changed_added_2_0">which may be rendered in markup or + which + may be programmatically added via client DOM manipulation</span>, + whose value is set by the JavaScript form submit. This name must + be constructed as follows:</p> + <ul> + <li><p>Get the clientId for the form of which this + component is a + child.</p></li> + <li><p>Append + <code>NamingContainer.SEPARATOR_CHAR</code>.</p></li> + <li><p>Append a constant string that is the same for all + command + link components in the tree.</p></li> + </ul> + <p>In the following text, this String is called + hiddenFieldName.</p> + <p>Decode Behavior</p> + <ul> + <p>Obtain the "clientId" property of the component. Obtain the + <code>Map</code> from the "requestParameterMap" property + of the + <code>ExternalContext</code>. Derive hiddenFieldName as + above. + Get the entry in the <code>Map</code> under the key that + is the + hiddenFieldName. If the there is no entry, or the entry is the + empty String, or the entry is not equal to the value of the + "clientId" property, return immediately. If there is an entry, + and its value is equal to the value of the "clientId" property, + create a new <code>jakarta.faces.event.ActionEvent</code> + instance + around the component and call <code>queueActionEvent()</code> + on + the component, passing the event.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>If the value of the <code>disabled</code> + attribute is + <code>true</code>, render a span element. Render all the + passthru + attributes and the <code>target</code> attribute as + pass-through + attributes on the span, even though the <code>target</code> + attribute will have no effect on a span. Render the current value + of the component as the content of the span. Return.</p> + <p>If the <code>disabled</code> attribute is not + present, or its + value is <code>false</code>, render an HTML <code>a</code> + element. Render "#" as the value of the "href" attribute. Render + the current value of the component as the link text if it is + specified. Render JavaScript that is functionally equivalent to + the following as the value of the "onclick" attribute:</p> + <p><code>document.forms['CLIENT_ID']['hiddenFieldName'].value='CLIENT_ID'; + document.forms['CLIENT_ID']['PARAM1_NAME'].value='PARAM1_VALUE'; + document.forms['CLIENT_ID']['PARAM2_NAME'].value='PARAM2_VALUE'; + return false;</code></p> + <p>document.forms['CLIENT_ID'].submit()" where hiddenFieldName + is + as described above, CLIENT_ID is the clientId of the UICommand + component, PARAM*_NAME and PARAM*_VALUE are the names and values, + respectively, of any nested UIParameter children. The name and + the value must be URLEncoded. If an "onclick" attribute was + specified by the user, render this JavaScript in a function, + and render the user's JavaScript in a function. Render both + functions + in a choice function as follows:</p> + <p><code>var a=function(){#USER_FUNCTION#}; + var b=function(){#JSF_FUNCTION#}; + return (a()==false) ? false : b();</code></p> + <p>where #USER_FUNCTION# is the user's JavaScript and + #JSF_FUNCTION# is the JavaScript rendered by Faces. The choice + function should operate such that if the user's JavaScript returns + true, then the rendered JavaScript will also execute.</p> + <p>If the "styleClass" attribute is specified, render its + value as + the value of the "class" attribute. Render any non-UIParameter + output children as normal inside of the "a" element. These will + appear as the link text. Allow the form renderer to output a + single "input" element (for the entire page, regardless of how + many command link components are in the page) of "type" "hidden" + whose "name" is the value of hiddenFieldName, and which must not + have a "value" attribute. Multiple occurrences of command link + components in the tree should not cause multiple hiddenFieldName + hidden fields. Allow the form renderer to output an "input" + element of "type" "hidden" for each of the nested UIParameter + children, taking the name property (but not the value) from each + one in turn. If the "disabled" attribute is specified, do not + render the HTML "a" anchor element or its "href" attribute. + Instead, render a "span" element. If the "styleClass" attribute + is specified, render its value as the value of the "class" + attribute on the "span". Render any pass-through attributes on + the "span". The content of the span element comes from the value + of the component or its children as specified above.</p> + <p>If the user specified a <code>target</code> + attribute, its + value must be set using javascript since the <code>onclick</code> + handler will prevent the target attribute from being generated. + This must be accomplished using JavaScript that is equivalent to + the following.</p> + <p><code>document.forms['CLIENT_ID'].target='TARGET';</code></p> + <p>Where TARGET is the value of the target attribute on the + JSP + tag.</p> + </ul> + + commandLink + + jakarta.faces.HtmlCommandLink + jakarta.faces.Link + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      + + + MethodExpression representing the application action to invoke + when this component is activated by the user. The expression + must evaluate to a public method that takes no parameters, and + returns an Object (the toString() of which is called to derive + the logical outcome) which is passed to the NavigationHandler + for this application. + + action + false + java.lang.Object action() + + + + <p> + MethodExpression representing an action listener method that + will be notified when this component is activated by the user. + The expression must evaluate to a public method that takes an + ActionEvent parameter, with a return type of void, <span + class="changed_added_2_0">or to a public method that takes no + arguments with a return type of void. In the latter case, the + method has no way of easily knowing where the event came from, + but this can be useful in cases where a notification is needed + that "some action happened".</span> + </p> + + actionListener + false + void actionListener(jakarta.faces.event.ActionEvent) + + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that, if this component is activated by the + user, + notifications should be delivered to interested listeners and + actions + immediately (that is, during Apply Request Values phase) rather + than + waiting until Invoke Application phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The current value of this component. + + value + false + java.lang.Object + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + The character encoding of the resource designated + by this hyperlink. + + charset + false + java.lang.String + + + + The position and shape of the hot spot on the screen + (for use in client-side image maps). + + coords + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never + receive focus or be included in a subsequent + submit. + + disabled + false + java.lang.Boolean + + + + The language code of the resource designated + by this hyperlink. + + hreflang + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + The relationship from the current document + to the anchor specified by this hyperlink. + The value of this attribute is a space-separated + list of link types. + + rel + false + java.lang.String + + + + A reverse link from the anchor specified + by this hyperlink to the current document. + The value of this attribute is a space-separated + list of link types. + + rev + false + java.lang.String + + + + The shape of the hot spot on the screen + (for use in client-side image maps). Valid + values are: default (entire region); rect + (rectangular region); circle (circular region); + and poly (polygonal region). + + shape + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Name of a frame where the resource + retrieved via this hyperlink is to + be displayed. + + target + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The content type of the resource designated + by this hyperlink. + + type + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + +
      + + + + Render a JavaScript function that invokes faces.ajax.request() function. +

      + +

      Encode Behavior

      +

      + Render an HTML script element. If the value of the "name" attribute does not contain a + period . indicating a namespaced function name, then render JavaScript var + keyword, followed by a space character. Render the value of the "name" attribute, followed by + JavaScript assignment operator. Render JavaScript function which invokes faces.ajax.request() + with data provided by execute, render, onbegin, + oncomplete, onsuccess and onerror arguments, if any. +

      +

      + If the component being rendered has any UIParameter children, each one of them must be + encoded into params object of the options object of the faces.ajax.request() + function. +

      +

      + If the rendered JavaScript function is invoked with an object argument, each property must be + encoded into params object of the options object of the faces.ajax.request() + function. This will override any property with the same key. +

      + +

      Decode Behavior

      +

      + Obtain the Map from the "requestParameterMap" property of the ExternalContext. + If the value in the Map for the value of the "jakarta.faces.source" equals to the "clientId" property of the component, + create a jakarta.faces.event.ActionEvent around the component, and pass it to the queueEvent() method of the component, + which must be an instance of UICommand. +

      + ]]> +
      + commandScript + + jakarta.faces.HtmlCommandScript + jakarta.faces.Script + + + + The component identifier for this component. + This value must be unique within the closest parent component that is a naming container. + + id + false + java.lang.String + + + name="functionName". + This can be a namespaced function name, e.g. name="ez.functionName". + ]]> + name + true + java.lang.String + + + load event of the window. + Defaults to false. + ]]> + autorun + false + boolean + + + Object. + The toString() of the returned Object is called to derive the logical outcome. + This outcome is passed to the NavigationHandler for this application. + ]]> + action + false + java.lang.Object action() + + + ActionEvent parameter, + with a return type of void, + or to a public method that takes no arguments with a return type of void. + In the latter case, + the method has no way of easily knowing where the event came from, + but this can be useful in cases where a notification is needed that "some action happened". + ]]> + actionListener + false + void actionListener(jakarta.faces.event.ActionEvent) + + + + @this clientIdOne clientIdTwo. + ]]> + execute + false + java.lang.String + + + @this clientIdOne clientIdTwo. + ]]> + render + false + java.lang.String + + + render attribute as a space separated list of client identifiers + suitable for passing directly to UIViewRoot.resetValues(). + The implementation must cause an ActionListener to be attached to the ActionSource + component in which this tag is nested that calls UIViewRoot.resetValues() passing the value + of the render attribute as the argument. + ]]> + resetValues + false + java.lang.Boolean + + + + The name of the JavaScript function that will handle UI events. + + onevent + false + java.lang.String + + + + The name of the JavaScript function that will handle errors. + + onerror + false + java.lang.String + + + + Flag indicating that, if this component is activated by the user, notifications should be delivered to + interested listeners and actions immediately (that is, during Apply Request Values phase) rather than + waiting until Invoke Application phase. + + immediate + false + java.lang.Boolean + + + true. + ]]> + rendered + false + java.lang.Boolean + + + + The ValueExpression linking this component to a property in a backing bean. + + binding + false + jakarta.faces.component.UIComponent + +
      + + + <p>Renders an HTML "table" element compliant with the HTML 401 + specification. Render the "caption" facet, if present, inside a + "caption" element immediately below the "table" element. If the + "captionClass" attribute is specified, render its value as the + value of the "class" attribute on the "caption" element. If the + "captionStyle" attribute is specified, render its value as the + value of the "style" attribute on the "caption" element.</p> + <p>Please consult the javadoc for <code>UIData</code> + to + supplement this specification. If the "styleClass" attribute is + specified, render its value as the value of the "class" attribute + on the "table" element. Any pass-through attributes are also + rendered on the "table" element. </p> + <p>Column Groups</p> + <ul> + <p>If the <code>UIData</code> component has a + "colgroups" facet, + render its contents. Consistent with the rules of facets in + general, this facet must have only one child. In general, this + will be a <code>panel group</code> component that will + contain + <code>colgroup</code> and <code>col</code> + elements per the HTML + Table specification. Use of column grouping can improve + accessibility. This facet must be rendered before the table + header and footer.</p> + </ul> + <p>Rendering the header</p> + <ul> + <p>If the <code>UIData</code> component has a + "header" facet, or + any of the child <code>UIColumn</code> components has a + "header" + facet, render a "thead" element. If the <code>UIData</code> + component has a "header" facet, encode its contents inside of "tr" + and "th" elements, respectively. Output the value of the + "headerClass" attribute of the <code>UIData</code> + component, if + present, as the value of the "class" attribute on the "th". + Output the number of child <code>UIColumn</code> + components of the + <code>UIData</code> component as the value of the + "colspan" + attribute on the "th". Output "colgroup" as the value of the + "scope" attribute on the "th" element. </p> + <p>If any of the child <code>UIColumn</code> + components has a + "header" facet render a "tr" element. For each + <code>UIColumn</code> that actually has a "header" + facet, render + it inside of a "th" element. Columns that don't have a "header" + facet cause an empty "th" element to be rendered. Output the + value of the "headerClass" attribute of the <code>UIColumn</code> + component, if present, as the value of the "class" attribute on + the "th". If the "headerClass" attribute of the <code>UIColumn</code> + component is not present, output the value of the "headerClass" + attribute of the <code>UIData</code> component, if + present, as + the value of the "class" attribute on the "th". Output "col" as + the value of the "scope" attribute on the "th" element. + </p> + <p>Close out the "thead" element.</p> + </ul> + <p>Rendering the footer</p> + <ul> + <p>Follow the same process as for the header, except replace + "header" with "footer", "th" with "td", "thead" with "tfoot", and + "headerClass" with "footerClass". Do not render any "scope" + attribute for the footer.</p> + </ul> + <p>Rendering the table body</p> + <ul> + <p>Look at the value of the "bodyrows" attribute. If present, + this must be a comma separated list of integers. Each entry in + this list is the row index of the row before which a "tbody" + element should be rendered.</p> + <p>If there was no "bodyrows" attribute, or it was empty, + render a + "tbody" element. Keep track of the result of the "rows" property + on the <code>UIData</code> component. Keep track of the + number of + rows we have rendered so far. Iterate through the rows. Set the + "rowIndex" property of the <code>UIData</code> component + to be + correct as we iterate through the rows. Stop rendering children + and close out the "tbody" element if the "rowAvailable" property + of the <code>UIData</code> returned false. If the + current row + index is contained in the "bodyrows" attribute, check if a "tbody" + start element was rendered that needs to be closed, and if so, + close the "tbody" element. Then render a "tbody" element start. + Otherwise, do not render a "tbody" element.</p> + <p>Output a "tr" element. Output the value of the "rowClasses" + per the attribute description below. For each + <code>UIColumn</code> child, if the column component has + a + "rowHeader" attribute with a value of "true", output a "th" + element with a "scope" attribute with the value of "row". + Otherwise, if the column component has no "rowHeader" attribute, + or its value is false, output a "td" element. In either case + attach the value of the "columnClasses" attribute of the + <code>UIData</code> component per the attribute + description below. + Recursively encode each child of each <code>UIColumn</code> + child. + Close out the "td" or "th" element. When done with the row, close + out the "tr" element. When done with all the rows, close out the + "tbody" element.</p> + </ul> + <p>When done rendering all the rows, set the "rowIndex" + property of + the <code>UIData</code> to -1, and close out the "table" + element.</p> + + dataTable + + jakarta.faces.HtmlDataTable + jakarta.faces.Table + + + + Zero-relative row number of the first row to be displayed. If + this + property is set to zero, rendering will begin with the first row + of + the underlying data. + + first + false + int + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The number of rows to display, starting with the one identified + by the + "first" property. If this value is set to zero, all available + rows in + the underlying data model will be displayed. + + rows + false + int + + + + The current value of this component. + + value + false + java.lang.Object + + + + Name of a request-scope attribute under which the model data for + the + row selected by the current value of the "rowIndex" property + (i.e. + also the current value of the "rowData" property) will be + exposed. + + var + false + + + + Name or code of the background color for this table. + + bgcolor + false + java.lang.String + + + + Comma separated list of row indices for which a new + "tbody" element should be started (and any + previously opened one should be ended). + + bodyrows + false + java.lang.String + + + + Width (in pixels) of the border to be drawn + around this table. + + border + false + int + + + + Space-separated list of CSS style class(es) that will be + applied to any caption generated for this table. + + captionClass + false + java.lang.String + + + + CSS style(s) to be applied when this caption is rendered. + + captionStyle + false + java.lang.String + + + + Definition of how much space the user agent should + leave between the border of each cell and its contents. + + cellpadding + false + java.lang.String + + + + Definition of how much space the user agent should + leave between the left side of the table and the + leftmost column, the top of the table and the top of + the top side of the topmost row, and so on for the + right and bottom of the table. It also specifies + the amount of space to leave between cells. + + cellspacing + false + java.lang.String + + + + Comma-delimited list of CSS style classes that will be applied + to the columns of this table. A space separated list of + classes may also be specified for any individual column. If + the number of elements in this list is less than the number of + actual column children of the UIData, no "class" + attribute is output for each column greater than the number of + elements in the list. If the number of elements in the list + is greater than the number of actual column children of the + UIData, the elements at the posisiton in the list + after the last column are ignored. + + columnClasses + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any footer generated for this table. + + footerClass + false + java.lang.String + + + + Code specifying which sides of the frame surrounding + this table will be visible. Valid values are: + none (no sides, default value); above (top side only); + below (bottom side only); hsides (top and bottom sides + only); vsides (right and left sides only); lhs (left + hand side only); rhs (right hand side only); box + (all four sides); and border (all four sides). + + frame + false + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any header generated for this table. + + headerClass + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Comma-delimited list of CSS style classes that will be applied + to the rows of this table. A space separated list of classes + may also be specified for any individual row. Thes styles are + applied, in turn, to each row in the table. For example, if + the list has two elements, the first style class in the list + is applied to the first row, the second to the second row, the + first to the third row, the second to the fourth row, etc. In + other words, we keep iterating through the list until we reach + the end, and then we start at the beginning again. + + rowClasses + false + java.lang.String + + + + +

      + Boolean flag directing how the per-row component state of EditableValueHolder children should be handled across requests on the same view. + If set to true, then state for EditableValueHolder components in each row will not be discarded before a new row is rendered. + If not specified, the default value is false. +

      +

      + This attribute should be set only when the current dataTable component contains UIForm children which in turn contains EditableValueHolder children. + This will only work reliably when the data model of the current dataTable component does not change across requests on the same view by e.g. sorting, adding or removing rows. + The alternative is to use c:forEach instead. +

      + + ]]> +
      + rowStatePreserved + false + boolean +
      + + + Code specifying which rules will appear between cells + within this table. Valid values are: none (no rules, + default value); groups (between row groups); rows + (between rows only); cols (between columns only); and + all (between all rows and columns). + + rules + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Summary of this table's purpose and structure, for + user agents rendering to non-visual media such as + speech and Braille. + + summary + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + Width of the entire table, for visual user agents. + + width + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <span class="changed_modified_2_0"> + Renders</span> an HTML "form" element. + <p>Decode Behavior</p> + <ul> + <p>Obtain the <code>Map</code> from the + "requestParameterMap" + property of the <code>ExternalContext</code>. If the map + contains + an entry for the "clientId" of this <code>UIForm</code> + component, + call <code>setSubmitted(true)</code> on the form, + otherwise call + <code>setSubmitted(false)</code> on the form.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>The value of the "method" attribute must be "post". The + value + of the "action" attribute must be the result of passing the view + identifier of the current view to the <code>getActionURL()</code> + method of the <code>ViewHandler</code> for this + application, then + passing that String to the <code>encodeActionURL()</code> + method + on the <code>ExternalContext</code>. The value of the + acceptcharset + attribute must be rendered as the value of "accept-charset". + If the "styleClass" attribute is specified, render its value as the + value of the "class" attribute. Render a "name" + attribute with a value the same as the "id" attribute as described + in "<a + href="../../../renderkitdocs/HTML_BASIC/renderkit-summary.html#general_encoding">General + Notes on + Encoding</a>" regarding the "id" attribute for UIInput + components. <p class="changed_added_2_0">Obtain the <code>UIViewRoot + view identifier</code> and + use it to obtain an <code>action URL</code> by calling + <code>ViewHandler.getActionURL</code>. + Use the <code>action URL</code> to obtain an <code>encoded + action URL</code> by calling + <code>ExternalContext.encodeActionURL</code>. Obtain an + <code>encoded partial action URL</code> by calling + <code>ExternalContext.encodePartialActionURL</code> + using <code>action URL</code> as the argument. + Compare the result from <code>ExternalContext.encodePartialActionURL</code> + with the + value from <code>ExternalContext.encodeActionURL()</code>. + If they are different, + render a hidden field with the name <code>jakarta.faces.encodedURL</code> + and the value + of this hidden field as the value from <code>ExternalContext.encodePartialActionURL</code>.</p> + Call <code>ViewHandler.writeState()</code> + before the the close of the "form" element. Render all the + necessary hidden fields for all commandLink instances in the page + just before the close of the "form" element. + <div class="changed_modified_2_0"> + Just before rendering the closing <code>&lt;/form&gt;</code> + element tag, render + any resources that have been targeted for this form: + <ul> + <li>Obtain a <code>UIViewRoot</code> instance.</li> + <li>Obtain a <code>List</code> of component + resources targeted for + this form with a call to <code>UIViewRoot.getComponentResources()</code> + with the <code>String "form"</code> as the argument.</li> + <li>Iterate over the returned <code>List</code> of + <code>UIComponent</code> instances + and call <code>encodeAll</code> on each <code>UIComponent</code> + instance. + </ul> + </div> + </p> + </ul> + </div> + + form + + jakarta.faces.HtmlForm + jakarta.faces.Form + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this form should prepend its id + to its descendent's id during the clientId generation process. + If this flag is not set, the default value is true. + + prependId + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + List of content types that a server processing this form + will handle correctly + + accept + false + java.lang.String + + + + List of character encodings for input data + that are accepted by the server processing + this form. + + acceptcharset + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Content type used to submit the form to the server. If not + specified, the default value is + "application/x-www-form-urlencoded". + + enctype + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when this form is reset. + + onreset + false + java.lang.String + + + + Javascript code executed when this form is submitted. + + onsubmit + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Name of a frame where the response + retrieved after this form submit is to + be displayed. + + target + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <p><span + class="changed_modified_2_0">Renders</span> an HTML "img" + element. Render the clientId as the value of the "id" + attribute.</p> + <div class="changed_modified_2_0"> + <p>Handling the Value</p> + <ul> + <p>If the "name" attribute is present, execute algorithm <a + href="../../../renderkitdocs/HTML_BASIC/jakarta.faces.Outputjakarta.faces.resource.Script.html#ResourceCommonGetResource">Common + Algorithm for Obtaining A Resource to Render</a> to obtain a + <code>Resource</code> instance. Call + <code>Resource.getRequestPath()</code> and output the + result as the + value of the "src" attribute on the rendered markup.</p> + <p>Otherwise, if the "url" attribute is present, treat its + value as + if it was the value of the "value" attribute. Otherwise, if the + "value" attribute is present, render the value of the component as + the value of the "src" attribute, after passing it to the + <code>getResourceURL()</code> method of the <code>ViewHandler</code> + for this application, and passing the result through the + <code>encodeResourceURL()</code> method of the + <code>ExternalContext</code>.</p> + <p>When handling the "src" attribute, + the value must not be escaped. For example, <code>&</code> + must not + be turned into <code>&amp;amp;</code>. If the + "styleClass" + attribute is specified, render its value as the value of the "class" + attribute.</p> + </ul> + </div> + + graphicImage + + jakarta.faces.HtmlGraphicImage + jakarta.faces.Image + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Context-relative URL to retrieve the resource associated with + this component. This is an alias for the "value" property. + + url + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + Alternate textual description of the + element rendered by this component. + + alt + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Override for the height of this image. + + height + false + java.lang.String + + + + Flag indicating that this image is to be used as a server side + image map. Such an image must be enclosed within a hyperlink + ("a"). A value of false causes no attribute to be rendered, + while a value of true causes the attribute to be rendered as + ismap="ismap". + + ismap + false + java.lang.Boolean + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + <div class="changed_added_2_0"><p>The <em>libraryName</em> + for this resource.</p></div> + + library + false + java.lang.String + + + + URI to a long description of the image + represented by this element. + + longdesc + false + java.lang.String + + + + <div class="changed_added_2_0"><p>The <em>resourceName</em> + for this resource.</p></div> + + name + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The name of a client side image map (an HTML "map" + element) for which this element provides the image. + + usemap + false + java.lang.String + + + + Override for the width of this image. + + width + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <p>Renders an HTML "input" element of type + "hidden".</p> + <p>Decode Behavior</p> + <ul> + <p>See the decode description for the <a + href="jakarta.faces.Inputjakarta.faces.Text.html#encode">Input + Text</a> renderer.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>Render the clientId of the component as the value of the + "name" attribute. Render the current value of the component as + the value of the "value" attribute.</p> + </ul> + + inputHidden + + jakarta.faces.HtmlInputHidden + jakarta.faces.Hidden + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + + <p>Renders an HTML "input" element of "type" "password".</p> + <p>Decode Behavior</p> + <ul> + <p>See the decode description for the <a + href="jakarta.faces.Inputjakarta.faces.Text.html#encode">Input + Text</a> renderer.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p> + Render the clientId of the component as the value of the "name" + attribute. Render the current value of the component as the value + of the "value" attribute, if and only if the "redisplay" component + attribute is the string "true". If the "styleClass" attribute is + specified, render its value as the value of the "class" + attribute.</p> + </ul> + + inputSecret + + jakarta.faces.HtmlInputSecret + jakarta.faces.Secret + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + If the value of this attribute is "off", render "off" as the + value + of the attribute. This indicates that the browser should + disable its autocomplete feature for this component. This is + useful for components that perform autocompletion and do not + want the browser interfering. If this attribute is not set or + the value + is "on", render nothing. + + autocomplete + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + The maximum number of characters that may + be entered in this field. + + maxlength + false + int + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + Flag indicating that any existing value + in this field should be rendered when the + form is created. Because this is a potential + security risk, password values are not + displayed by default. + + redisplay + false + java.lang.Boolean + + + + The number of characters used to determine + the width of this field. + + size + false + int + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <p>Renders an HTML "input" + element of "type" "text".</p> + <p><a name="decode">Decode Behavior</a></p> + <ul> + <p>Obtain the <code>Map</code> from the + "requestParameterMap" + property of the <code>ExternalContext</code>. If the + <code>Map</code> contains an entry for the "clientId" of + the + component, pass the value of the entry to the + <code>setSubmittedValue()</code> method of the + component, which + must be an instance of <code>EditableValueHolder</code>.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p> Render the clientId of the component as + the value of the "name" attribute. Render the current value of + the component as the value of the "value" attribute. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute. + </p> + </ul> + + inputText + + jakarta.faces.HtmlInputText + jakarta.faces.Text + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + + Controls the data type and associated control of the element. + Default value is text. + If a value is specified for which already a more specific component exist, such as + hidden, password, checkbox, radio, file, submit, image, reset and button, + and the ProjectStage is set to Development, then the renderer must add a warning message stating that the more specific component should be preferred. + ]]> + + type + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Alternate textual description of the + element rendered by this component. + + alt + false + java.lang.String + + + + If the value of this attribute is "off", render "off" as the + value + of the attribute. This indicates that the browser should + disable its autocomplete feature for this component. This is + useful for components that perform autocompletion and do not + want the browser interfering. If this attribute is not set or + the value + is "on", render nothing. + + autocomplete + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + The maximum number of characters that may + be entered in this field. + + maxlength + false + int + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + The number of characters used to determine + the width of this field. + + size + false + int + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <p>Renders an HTML "textarea" element.</p> + <p>Decode Behavior</p> + <ul> + <p>See the encode description for the <a + href="jakarta.faces.Inputjakarta.faces.Text.html#encode">Input + Text</a> renderer.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p> Render the + clientId as the value of the "name" attribute. Render the current + valu eof the component inside the "textarea" + element.</p> </ul> + + inputTextarea + + jakarta.faces.HtmlInputTextarea + jakarta.faces.Textarea + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + The number of columns to be displayed. + + cols + false + int + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + The number of rows to be displayed. + + rows + false + int + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <p>Render a single message for a specific component.</p> + <p>Set-up for Rendering</p> + <ul> + <p>Obtain the "summary" and "detail" properties from + <code>UIMessage</code> component. If not present, keep + the + empty string as the value, respectively. Obtain the first + <code>FacesMessage</code> to render from the component, + using + the "for" property of the <code>UIMessage</code>. This + will be + the only message we render. Obtain the severity style for this + message. If the severity of the message is + <code>FacesMessage.SEVERITY_INFO</code>, the severity + style + comes from the value of the "infoStyle" attribute. If the + severity of the message is + <code>FacesMessage.SEVERITY_WARN</code>, the severity + style + comes from the value of the "warnStyle" attribute, and so on for + each of the severities, <code>INFO, WARN, ERROR</code> + and + <code>FATAL</code>. The same rules apply for obtaining + the + severity style class, but instead of "infoStyle, warnStyle", etc + use "infoClass, warnClass", etc. Obtain the "style", + "styleClass" and "layout" attributes from the + <code>UIMessage</code> component. If we have a "style" + attribute and a severity style attribute, use the severity style + attribute as the value of the "style" attribute. If we have no + "style" attribute, but do have a severity style, use the + severity style as the value of the "style" attribute. The same + precedence rules apply for the style class. Obtain the value of + the <code>dir</code> and <code>lang</code> + attributes.</p> + </ul> + <p>Rendering</p> + <ul> + <p>For the message renderer, we only render one row, for the + first + message. For the messages renderer, we render as many rows as we + have messages. If any of the "dir", "lang", "style" or + "styleClass" attributes has a non-null value (as determined + above), render a "span" element, outputting the value of the + "style" attribute as the the value of the "style" attribute, and + outputting the value of the "styleClass" attribute as the value of + the "class" attribute on the "span" element. Output the "dir" and + "lang" attributes as well, if they are present. If the + <code>UIMessage</code> has a "tooltip" attribute with + the value of + "true", and the <code>UIMessage</code> has "showSummary" + and + "showDetail" properties with the value "true", if we haven't + already written out the "span", output the "summary" as the value + of the "title" attribute on the "span". If we haven't already + written out a "title" attribute, and "showSummary" is true, output + the summary. If "showDetail" is true, output the detail. Close + out the span if necessary.</p> + </ul> + + message + + jakarta.faces.HtmlMessage + jakarta.faces.Message + + + + Client identifier of the component for which to display + messages. + + for + true + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating whether the detail portion of displayed messages + should be included. Default value is "true". + + showDetail + false + java.lang.Boolean + + + + Flag indicating whether the summary portion of displayed + messages + should be included. Default value is "false". + + showSummary + false + java.lang.Boolean + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "ERROR". + + errorClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "ERROR". + + errorStyle + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "FATAL". + + fatalClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "FATAL". + + fatalStyle + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "INFO". + + infoClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "INFO". + + infoStyle + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "SUCCESS". + + successClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "SUCCESS". + + successStyle + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + Flag indicating whether the detail portion of the + message should be displayed as a tooltip. + + tooltip + false + java.lang.Boolean + + + + CSS style class to apply to any message + with a severity class of "WARN". + + warnClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "WARN". + + warnStyle + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + <p><span class="changed_modified_2_0 changed_modified_2_3">The</span> + same as for the + Message renderer, but output all the messages. <span + class="changed_added_2_0">If an "id" attribute has been + specified, + it must be rendered on the outermost markup corresponding to this + component.</span> If the value of the "layout" attribute is + "table", render nested "table", "tr", and "td" elements, in that + order. If the value of the "layout" attribute is "list", or the + "layout" attribute is not specified, render nested "ul", "li" + elements, in that order. Output the value of the "style" attribute + as the value of the "style" attribute, output the value of the + "styleClass" attribute as the value of the "class" attribute, and + output the dir and lang attributes. Output these values on the + "table" element or the "ul" element. Output the values of the + "errorStyle", "fatalStyle", "infoStyle", "warnStyle" attributes as + the value of the "style" attribute on either the "tr" element or + the "li" element. Output the values of the "errorClass", + "fatalClass", "infoClass", "warnClass" attributes as the value of + the "class" attribute on either the "tr" element or the "li" + element. The component is a <code>UIMessages</code>, and + there is + no "for" attribute. Therefore, use either <code>null</code> + to + obtain the messages from the <code>FacesContext</code> + or the empty + string if the components "globalOnly" property is + <code>true</code>. If the layout was "table" close out + the table + elements, otherwise, close out the list elements.</p> + <p> + If an h:form does not contain a h:messages tag and the ProjectStage + is set to Development the runtime will automatically add h:messages + for debugging purposes. + </p> + + messages + + jakarta.faces.HtmlMessages + jakarta.faces.Messages + + + + Client identifier of the component for which to display + messages. This + attribute is mutually exclusive with globalOnly and take + precedence + if used. + + for + false + java.lang.String + + + + Flag indicating that only global messages (that is, messages not + associated with any client identifier) are to be displayed. + Default value is "false". + + globalOnly + false + java.lang.Boolean + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating whether the detail portion of displayed messages + should be included. Default value is "false". + + showDetail + false + java.lang.Boolean + + + + Flag indicating whether the summary portion of displayed + messages + should be included. Default value is "true". + + showSummary + false + java.lang.Boolean + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "ERROR". + + errorClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "ERROR". + + errorStyle + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "FATAL". + + fatalClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "FATAL". + + fatalStyle + false + java.lang.String + + + + CSS style class to apply to any message + with a severity class of "INFO". + + infoClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "INFO". + + infoStyle + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + The type of layout markup to use when rendering + error messages. Valid values are "table" (an HTML + table) and "list" (an HTML list). If not specified, + the default value is "list". + + layout + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + Flag indicating whether the detail portion of the + message should be displayed as a tooltip. + + tooltip + false + java.lang.Boolean + + + + CSS style class to apply to any message + with a severity class of "WARN". + + warnClass + false + java.lang.String + + + + CSS style(s) to apply to any message + with a severity class of "WARN". + + warnStyle + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + + <p>Render parameterized text. Obtain the + <code>style</code>, <code>styleClass</code>, + <code>dir</code>, and + <code>lang</code> attributees from this component. If + any are + present, render a "span" element. Output the + <code>styleClass</code> attribute (if present) as the + value of the + <code>class</code> attribute. Output the <code>style</code> + attribute as the value of the <code>style</code> + attribute. + Output the <code>dir</code> and <code>lang</code> + attributes as + pass through attributes. Accrue a list of the values of all child + <code>UIParameter</code> components of this component. + If there + are one or more accumulated parameter values, convert the list of + parameter values to an <code>Object</code> array, call + <code>MessageFormat.format()</code>, passing the + <code>value</code> of this component as the first + argument, and + the array of parameter values as the second argument, and render + the result. Otherwise, render the <code>value</code> of + this + component unmodified.</p> + + outputFormat + + jakarta.faces.HtmlOutputFormat + jakarta.faces.Format + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The current value of this component. + + value + false + java.lang.Object + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that characters that are sensitive + in HTML and XML markup must be escaped. This flag + is set to "true" by default. + + escape + false + java.lang.Boolean + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + Renders an HTML "label" element. Render the current value + of the component as label text if it is specified. If a "for" + attribute is + specified, find the component specified by the value of the "for" + attribute, and render its client id as the value of the "for" + attribute. + If "styleClass" attribute is specified, render its value as the + value + of the "class" attribute. + + outputLabel + + jakarta.faces.HtmlOutputLabel + jakarta.faces.Label + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The current value of this component. + + value + false + java.lang.Object + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that characters that are sensitive + in HTML and XML markup must be escaped. If omitted, this + flag is assumed to be "true". + + escape + false + java.lang.Boolean + + + + Client identifier of the component for which this element + is a label. + + for + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + Render an HTML "a" anchor element. The value of the + component is rendered as the value of the "href" attribute. Any + child UIParameter components are appended to the String to be + output as the value of the "href" attribute as query parameters + before rendering. The entire "href" string must be passed through + a call to the <code>encodeResourceURL()</code> method of + the + <code>ExternalContext</code>. The name of the + UIParameter goes on + the left hand side, and the value of the UIParameter on the right + hand side. The name and the value must be URLEncoded. Each + UIParameter instance is separeted by an ampersand, as dictated in + the URL spec. If the "styleClass" attribute is specified, render + its value as the value of the "class" attribute. If the "id" + attribute + is specified, follow the same steps as mentioned in the + "<a + href="../../../renderkitdocs/HTML_BASIC/renderkit-summary.html#general_encoding">General + Notes on Encoding</a>" regarding the "id" attribute for + UIInput components. + If the "disabled" attribute is specified, do not render the HTML "a" + anchor element or the "href" element. Instead, render a "span" + element. + If the "styleClass" attribute is specified, render its value as the + value + of the "class" attribute on the "span". Render any pass-through + attributes + on the "span". + + outputLink + + jakarta.faces.HtmlOutputLink + jakarta.faces.Link + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The current value of this component. + + value + false + java.lang.Object + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + The character encoding of the resource designated + by this hyperlink. + + charset + false + java.lang.String + + + + The position and shape of the hot spot on the screen + (for use in client-side image maps). + + coords + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never + receive focus or be included in a subsequent + submit. + + disabled + false + java.lang.Boolean + + + + The language code of the resource designated + by this hyperlink. + + hreflang + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + The relationship from the current document + to the anchor specified by this hyperlink. + The value of this attribute is a space-separated + list of link types. + + rel + false + java.lang.String + + + + A reverse link from the anchor specified + by this hyperlink to the current document. + The value of this attribute is a space-separated + list of link types. + + rev + false + java.lang.String + + + + The shape of the hot spot on the screen + (for use in client-side image maps). Valid + values are: default (entire region); rect + (rectangular region); circle (circular region); + and poly (polygonal region). + + shape + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Name of a frame where the resource + retrieved via this hyperlink is to + be displayed. + + target + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The content type of the resource designated + by this hyperlink. + + type + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

      + +

      It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

      ]]> +
      + role + false + java.lang.String +
      +
      + + + + +

      Render the markup for a <link> element that + renders the style Resource specified by the optional + name and library attributes.

      + +

      Decode Behavior

      + +
        + +

        No action is required during decode for this renderer.

        + +
      + +

      Encode Behavior

      + +
        + +

        Use the algorithm Common Encode Behavior for + encodeBegin(), encodeChildren() and + getRendersChildren().

        + +

        For encodeEnd(), use the algorithm Common + Algorithm for Obtaining A Resource to Render to obtain a + reference to the Resource to be encoded.

        + +

        Output a <link> element. Use the result from + calling resource.getRequestPath() as the value of the + "href" attribute. Use the result from calling + resource.getContentType() as the value of the "type" + attribute, unless the value equals text/css and the current doctype is a HTML5 doctype.. + Use the literal string "stylesheet" as the value of the "rel" + attribute, and the literal string "screen" as the value of the "media" + attribute.

        + +

        The implementation of this renderer must have a @ListenerFor + annotation attached to it, at the class level, declaring PostAddToViewEvent.class + as the value of the systemEventClass attribute. The presence of + this annotation on a renderer implies the renderer implements ComponentSystemEventListener, + which this renderer must do. The implementation of + processEvent() must extract the UIComponent + from the argument event pass it to UIViewRoot.addComponentResource(), specifying + the literal string "head" as the last argument.

        + +

        The stylsheet renderer must ensure that any stylesheets are included in the <head> of the document. +

        + + ]]> + + outputStylesheet + + jakarta.faces.Output + jakarta.faces.resource.Stylesheet + + + + + + + converter + + + false + + + jakarta.faces.convert.Converter + + + + + + + + id + + + false + + + java.lang.String + + + + + + + + rendered + + + false + + + boolean + + + + + + + + value + + + false + + + java.lang.Object + + + + +

        The libraryName for this resource.

        ]]> +
        + + library + + + false + + + java.lang.String + +
        + + +

        The resourceName for this resource.

        +
        +

        + This attribute is required if the stylesheet is NOT inline. +

        +
        ]]> +
        + + name + + + false + + + java.lang.String + +
        + + + The ValueExpression linking this component to a property in a + backing bean + + + binding + + + false + + + jakarta.faces.component.UIComponent + + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        + + + + If the "styleClass", "style", "dir" or "lang" + attributes are present, render a "span" element. If the + "styleClass" attribute is present, render its value as the value + of the "class" attribute. If the "style" attribute is present, + pass it thru. If the "escape" attribute is not present, or it is + present and its value is "true" all angle brackets should be + converted to the ampersand xx semicolon syntax when rendering the + value of the "value" attribute as the value of the component. If + the "escape" attribute is present and is "false" the value of the + component should be rendered as text without escaping. + + outputText + + jakarta.faces.HtmlOutputText + jakarta.faces.Text + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The current value of this component. + + value + false + java.lang.Object + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that characters that are sensitive + in HTML and XML markup must be escaped. This flag + is set to "true" by default. + + escape + false + java.lang.Boolean + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + + +

        Render the markup for a <script> element that + renders the script Resource specified by the optional + name attribute and library attributes.

        + +

        The implementation of this renderer must have a @ListenerFor + annotation attached to it, at the class level, declaring PostAddToViewEvent.class + as the value of the systemEventClass attribute. The presence of + this annotation on a renderer implies the renderer implements ComponentSystemEventListener, + which this renderer must do. The implementation of + processEvent() must extract the UIComponent + from the argument event and look for the presence of the key + "target" in the component's attribute Map. If + and only if such a key is present, the implementation of + processEvent() must pass the component to UIViewRoot.addComponentResource().

        + +

        Decode Behavior

        + +
          + +

          No action is required during decode for this renderer.

          + +
        + +

        Encode Behavior

        + +
          + +

          Common Algorithm for Obtaining A Resource to Render

          + +
            + +

            This algorithm is used by all resource renderers to obtain + a Resource instance which is then rendered in a + specific way depending on what kind of renderer is doing the + encoding.

            + +
              + +
            • Look in the component attribute Map for a + value under the key name.

            • + +
            • Look in the component attribute Map for a + value under the key library. This attribute is + optional, therefore, library may be + null.

            • + +
            • Create the resource by calling + Application.getResourceHandler.createResource(name, + library);.

            • + +

              + +
            + +
          + +

          Common Encode Behavior

          + +
            + +

            This algorithm is used by all resource renderers to render the + resource.

            + +

            encodeBegin() must take no action.

            + +

            Because this renderer returns true from + getRendersChildren(), the encodeChildren() + method must take the following action.

            + +
              + +
            • If there is no name attribute, and the + argument component has no children, and + ProjectStage is not + ProjectStage.Production, add a + FacesMessage for this component's clientId to the + FacesContext stating that if no name attribute is + present, and no body content is present either, then the user + should take action to correct this problem. In this case, + encodeChildren() must take no further + action.

            • + +
            • If there is no name attribute and the argument + component does have children, the renderer + must ensure that those children are encoded as usual.

            • + +
            • If there is a name attribute and the + argument component does have children, the + renderer must log a descriptive localized message stating that + the child content will be ignored. The resource referenced by + the name attribute will be rendered in + encodeEnd().

            • + +
            • If there is a name attribute and the + argument component does not have children, + encodeChildren() must take no action.

            • + +
            + +

            encodeEnd() must take specific action based on + the specific kind of resource being rendered.

            + +
          + +

          Use the algorithm Common Encode Behavior for + encodeBegin(), encodeChildren() and + getRendersChildren().

          + +

          For encodeEnd(), use the algorithm Common + Algorithm for Obtaining A Resource to Render above to + obtain a reference to the Resource to be + encoded.

          + +

          If this is NOT the first time this Resource has + been referenced on this request take no action and return.

          + +

          Render a script element. Use the result from calling + resource.getRequestPath() as the value of the "src" + attribue. Use the result from calling + resource.getContentType() as the value of the "type" + attribute, unless the value equals text/javascript and the current doctype is a HTML5 doctype.

          + +

          + + + +
        + + + + ]]> +
        + outputScript + + jakarta.faces.Output + jakarta.faces.resource.Script + + + + + + + converter + + + false + + + jakarta.faces.convert.Converter + + + + + + + + id + + + false + + + java.lang.String + + + + + + + + rendered + + + false + + + boolean + + + + + + + + value + + + false + + + java.lang.Object + + + + +

        The libraryName for this resource.

        ]]> +
        + + library + + + false + + + java.lang.String + +
        + + +

        The resourceName for this resource.

        +
        +

        + This attribute is required if the script is NOT inline. +

        +
        ]]> +
        + + name + + + false + + + java.lang.String + +
        + + +

        The target area for which this resource will be rendered. For example, target="head" would cause the resource to be rendered within the head element.

        ]]> +
        + + target + + + false + + + java.lang.String + +
        + + + The ValueExpression linking this component to a property in a + backing bean + + + binding + + + false + + + jakarta.faces.component.UIComponent + + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + + Renders an HTML "table" element, conforming to the + rules in the HTML 401 specification. Render the "caption" facet, + if present, inside a "caption" element immediately below the "table" + element. + If the "captionClass" attribute is specified, render its value as + the value + of the "class" attribute on the "caption" element. If the + "captionStyle" attribute + is specified, render its value as the value of the "style" attribute + on the "caption" element. If the "styleClass" attribute is + specified, render + its value as the value of the "class" attribute. Render the + pass-through + attributes in the table below. Render the "header" facet, if + present, inside of + "thead", "tr", and "th" elements, nested in that order. If the + "headerClass" attribute is specifed, render its value as the value + of the "class" attribute on the "th" element. Render "colgroup" + as the value of the "scope" attribute. Render the value of the + "columns" attribute as the value of the "colspan" attribute on the + "th" element. Render the "footer" facet if present, using similar + logic to the rendering of the "header", but replacing "thead" with + "tfoot", "th" with "td", and "headerClass" with "footerClass". + Render the children of the <code>UIPanel</code> + component inside + of a "tbody" element. Render the children based on the value of + the "columns" attribute, creating a new row each time a "columns" + worth of children have been rendered. For the start of each row, + render a "tr" element. Output the value of the "rowClasses" per + the attribute description below. For each child, output a "td" + element, attaching the value of the "columnClasses" attribute per + the attribute description below. Recursively encode each child. + Close out the "td" element. When done with the row, close out the + "tr" element. If a child has "rendered==false" it is not rendered, + and the column counter must not be incremented. + + panelGrid + + jakarta.faces.HtmlPanelGrid + jakarta.faces.Grid + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Name or code of the background color for this table. + + bgcolor + false + java.lang.String + + + + Comma separated list of row indices for which a new + "tbody" element should be started (and any + previously opened one should be ended). + + bodyrows + false + java.lang.String + + + + Width (in pixels) of the border to be drawn + around this table. + + border + false + int + + + + Space-separated list of CSS style class(es) that will be + applied to any caption generated for this table. + + captionClass + false + java.lang.String + + + + CSS style(s) to be applied when this caption is rendered. + + captionStyle + false + java.lang.String + + + + Definition of how much space the user agent should + leave between the border of each cell and its contents. + + cellpadding + false + java.lang.String + + + + Definition of how much space the user agent should + leave between the left side of the table and the + leftmost column, the top of the table and the top of + the top side of the topmost row, and so on for the + right and bottom of the table. It also specifies + the amount of space to leave between cells. + + cellspacing + false + java.lang.String + + + + Comma-delimited list of CSS style classes that will be applied + to the columns of this table. A space separated list of + classes may also be specified for any individual column. If + the number of elements in this list is less than the number of + actual column children of the UIData, no "class" + attribute is output for each column greater than the number of + elements in the list. If the number of elements in the list + is greater than the number of actual column children of the + UIData, the elements at the posisiton in the list + after the last column are ignored. + + columnClasses + false + java.lang.String + + + + The number of columns to render before + starting a new row. + + columns + false + int + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any footer generated for this table. + + footerClass + false + java.lang.String + + + + Code specifying which sides of the frame surrounding + this table will be visible. Valid values are: + none (no sides, default value); above (top side only); + below (bottom side only); hsides (top and bottom sides + only); vsides (right and left sides only); lhs (left + hand side only); rhs (right hand side only); box + (all four sides); and border (all four sides). + + frame + false + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any header generated for this table. + + headerClass + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Comma-delimited list of CSS style classes that will be applied + to the rows of this table. A space separated list of classes + may also be specified for any individual row. Thes styles are + applied, in turn, to each row in the table. For example, if + the list has two elements, the first style class in the list + is applied to the first row, the second to the second row, the + first to the third row, the second to the fourth row, etc. In + other words, we keep iterating through the list until we reach + the end, and then we start at the beginning again. + + rowClasses + false + java.lang.String + + + + Code specifying which rules will appear between cells + within this table. Valid values are: none (no rules, + default value); groups (between row groups); rows + (between rows only); cols (between columns only); and + all (between all rows and columns). + + rules + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Summary of this table's purpose and structure, for + user agents rendering to non-visual media such as + speech and Braille. + + summary + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + Width of the entire table, for visual user agents. + + width + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + Intended for use in situations when only one + UIComponent child can be nested, such as in the case of facets. + If the "style" or "styleClass" attributes are present, and the + "layout" + attribute is present with a value of "block", render a "div" + element, + outputting the value of the "style" attribute as the value of the + "style" attribute and the value of the "styleClass" attribute as the + value of the "class" attribute. Otherwise, if the "layout" attribute + is not present, or the "layout" attribute contains a value other + than + "block", render a "span" element, outputting the value of the + "style" attribute as the value of the "style" attribute, and the + value + of the "styleClass" attribute as the value of the "class" + attribute. + + panelGroup + + jakarta.faces.HtmlPanelGroup + jakarta.faces.Group + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + The type of layout markup to use when rendering this group. + If the value is "block" the renderer must produce an HTML + "div" element. Otherwise HTML "span" element must + be produced. + + layout + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" property on generated markup. + + styleClass + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + + <p>Renders an HTML "input" element of type "checkbox".</p> + <p>Decode Behavior</p> + <ul> + <p>Obtain the <code>Map</code> from the + "requestParameterMap" + property of the <code>ExternalContext</code>. If there + is no + entry in the <code>Map</code> for the "clientId" of this + component, pass "false" to the <code>setSubmittedValue()</code> + method of the component, which must be an instance of + <code>EditableValueHolder</code>. If there is an entry, + and its + value is equal, ignoring case and without quotes, to any of the + Strings: "on", "yes" or "true" pass true to the + <code>setSubmittedValue()</code> method of the + component.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p> + Render the clientId of the component as the value of the "name" + attribute. If the current value of the component is "true", + output the "checked" attribute (must be rendered as + checked="checked"). + If the "styleClass" attribute is specified, render its value as the + value + of the "class" attribute.</p> </ul> + + selectBooleanCheckbox + + jakarta.faces.HtmlSelectBooleanCheckbox + + jakarta.faces.Checkbox + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Boolean + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + <p><span + class="changed_modified_2_0">Render</span> an HTML checkbox + list.</p> + <p><a name="decode">Decode Behavior</a></p> + <ul> + <p>See the <a + href="SelectManyListbox.html">"Decode + Behavior for UISelectMany Components"</a> section.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p><span class="changed_added_4_0">If the "layout" + attribute is specified, and its value is "list", render a "ul" + element as root element, otherwise</span> + render a "table" element. If the "styleClass" is specified, + render the value of the "styleClass" attribute as the value of the + "class" attribute on the <span class="changed_modified_4_0">root</span> element. If the "style", or + "border" attributes are specified, pass them thru <span + class="changed_added_2_0">and render their values as the "style" + and "border" attributes on the <span class="changed_modified_4_0">root element</span>, respectively.</span> + If + the "layout" attribute is specified, and its value is + "pageDirection", render the children elements vertically, + otherwise horizontally, in the <span class="changed_modified_4_0">root element</span>. If any of the children are + an instance of SelectItemGroup, render them as a nested <span class="changed_modified_4_0">root element</span>. + Each of the children are ultimately rendererd as follows. Render + an "input" element of "type" "checkbox" for each child component. + Render the "name" attribute on the "input" element with the value + of the <code>clientId</code> of the component. Render an + "id" + attribute on the "input" element. Each "id" value must be unique. + If the current SelectItem.isDisabled() returns true, render + "disabled" as the value of the "disabled" attribute. Close out + the "input" element. Render a "label" element. Render the "for" + attribute of the "label" element whose value is the corresponding + "input" element's "id" value. Render any "style" as the "class" + attribute on the "label" element. <span + class="changed_added_2_0">If the current checkbox would be + rendered as being checked, and there is a "selectedClass" + attribute, append a space, followed by the value of the + "selectedClass" attribute to any existing "class" attribute value + on the label element. Otherwise, render the value of the + "selectedClass" attribute as the value of the "class" attribute on + the label element. If the current checkbox would be rendered as + being not checked, and there is a "unselectedClass" attribute, + append a space, followed by the value of the "unselectedClass" + attribute to any existing "class" attribute value on the label + element. Otherwise, render the value of the "unselectedClass" + attribute as the value of the "class" attribute on the label + element.</span> Close out the starting "label" element and + render + the label value from SelectItem.getLabel(). Close out the "label" + element. As an exception to the general rules about how to handle + the "id" attribute, render it as an attribute on the outer "table" + element, the value of which is the <code>clientId</code> + of the + component per the rules at the beginning of this specification. + The value of the current SelectItem is rendered as the value of + the "value" attribute. Coerce the value of the currently rendered + child to the type of the parent UISelectMany value following the + Expression Language coercion rules, before comparing the values. + If the value of the enclosing UISelectMany matches the current + value, render "checked" as the value of the "checked" attribute. + See the <a + href="SelectManyListbox.html">"Rendering + the option elements" </a> specification for + <code>ListboxRenderer</code> for more detail on how to + render the + "option" elements in this renderer.</p> + </ul> + + selectManyCheckbox + + jakarta.faces.HtmlSelectManyCheckbox + jakarta.faces.Checkbox + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Width (in pixels) of the border to be drawn + around the table containing the options list. + <p class="changed_added_4_0">This attribute is ignored when the "layout" attribute equals to "list".<span> + + border + false + int + + + + <p class="changed_modified_2_0"> Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + <code>java.util.Collection</code>, or an EL + expression that + evaluates to either 1. such a String, or 2. the + <code>Class</code> object itself. </p> + + collectionType + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on disabled options. + + disabledClass + false + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + enabledClass + false + java.lang.String + + + + <p class="changed_modified_2_0"> + Flag indicating that, if this component is activated by the + user, + The "no selection option", if any, must be hidden.</p> + + hideNoSelectionOption + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Orientation of the options list to be created. + Valid values are "pageDirection" (list is laid + out vertically), or "lineDirection" (list is + laid out horizontally). If not specified, the + default value is "lineDirection". + + layout + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on selected options. + + selectedClass + false + java.lang.String + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + CSS style class to apply to the rendered label + on unselected options. + + unselectedClass + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + <p><span + class="changed_modified_2_0">Render</span> an HTML option + list.</p> + <p>Decode Behavior</p> + <p>This section documents the decode behavior for all + renderers + that handle <code>UISelectMany</code> or <code>UISelectOne</code> + components.</p> + <ul> + <p><a name="decodeMany">Decode Behavior for + <code>UISelectMany</code> components</a></p> + <ul> + <p>Obtain the <code>Map</code> from the + "requestParameterValuesMap" property of the + <code>ExternalContext</code>. If the <code>Map</code> + contains + an entry for the "clientId" of the component, pass the value of + the entry, cast to a <code>String []</code>, to the + <code>setSubmittedValue()</code> method of the + component, which + must be an <code>EditableValueHolder</code>. If the + <code>Map</code> does not contain an entry, create an + empty + <code>String</code> array and call + <code>setSubmittedValue()</code> with it.</p> + <p class="changed_modified_2_0">Please check the javadoc for + <a + href="../../javadocs/jakarta/faces/component/UISelectMany.html#getConvertedvalue">UISelectMany.getConvertedValue()</a> + for additional requirements for renderers that render this kind + of component.</p> + </ul> + <p><a name="decodeOne">Decode Behavior for + <code>UISelectOne</code> components</a></p> + <ul> + <p>Obtain the <code>Map</code> from the + "requestParameterMap" + property of the <code>ExternalContext</code>. If there + is a + <code>Map</code> entry for the "clientId" property of + the + component, pass it to the <code>setSubmittedValue()</code> + method + of the component. <span class="changed_added_2_0">If the + <code>Map</code> does not contain an entry, call + <code>setSubmittedValue()</code> passing an empty + <code>String</code> as the argument.</span> </p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>Render an HTML "select" element. Render the clientId of + the component as the value of the "name" attribute. If the + "styleClass" + attribute is specified, render its value as the value of the "class" + attribute on the "select" element. If the component is a + <code>UISelectMany</code> instance, render "multiple" as + the value of the + "multiple" attribute. If the "size" attribute is specified, render + its + value as the value of the "size" attribute. Otherwise use the number + of + items as the value of the "size" attribute.</p> + </ul> + <p><a name="option">Rendering the "option" elements</a></p> + <ul> + <p>The only valid children of this component are + <code>UISelectItem</code> or <code>UISelectItems</code> + instances. Iterate over the children of this component, and accrue + a list of <code>jakarta.faces.model.SelectItem</code> + instances. + <span class="changed_added_2_0">If the current child is a + <code>SelectItem</code> whose <code>noSelctionProperty</code> + is + <code>true</code>, <b>and</b> the <code>UISelectOne</code> + or + <code>UISelectMany</code> parent of this option has one + or more + selected values that <b>are not</b> the "no selection" + <code>SelectItem</code>, <b>and</b> the + component has a + "hideNoSelectionLabel" attribute whose value is <code>true</code>, + then the current option, which is the "no selection" option, must + not be rendered.</span> If the current child is a + <code>UISelectItem</code> create a <code>SelectItem</code>instance + from its <code>itemValue, itemLabel</code>, <code + class="changed_added_2_0">itemEscaped</code>, and + <code>itemDescription</code> properties, add it to the + list. If + the current child is a <code>UISelectItems</code> + instance, call + its <code>getValue()</code> method. If the result is a + <code>SelectItem</code> bean, add it to the list. If the + result + is an array of <code>SelectItem</code> beans, add each + one to the + list. If the result is a <code>Collection</code> of + <code>SelectItem</code> beans, add each one to the list. + If the + result is a <code>Map</code>, create a <code>SelectItem</code> + bean for each entry in the <code>Map</code> using the + key as the + label, the value as the value, and <code>null</code> as + the + description.</p> + <p>Iterate over the list of <code>SelectItem</code> + beans. If the + current element is a <code>SelectItemGroup</code>, + render an + "optgroup" element with a "label" attribute, the value of which is + the "label" property from the current element, then call + <code>getSelectItems()</code> and render each element as + below. + If the current element is not a <code>SelectItemGroup</code>, + render an "option" element. Follow the conversion rules in the + spec to obtain a renderable <code>String</code> from the + "value" + property of the current element, render that as the value of the + "value" atribute. Now it is time to see if the current element is + the selected value. Call its <code>getSubmittedValue()</code> + method, casting the result to an <code>Object []</code>, + otherwise + the component must be a <code>UISelectOne</code> + instance, call + its <code>getSubmittedValue()</code> method and create + an + <code>Object []</code> around the result. Determine the + type of + the resultant array, if the resultant array is non-null, otherwise + the type is <code>String</code>. Coerce the current item + value to + this type following the Expression Language coercion rules. If + the resultant array is non-null, we look in the array for a value + that, when we pass the renderable value to its + <code>equals()</code> method, it returns <code>true</code>, + meaning the current element is selected. If the resultant array + is <code>null</code>, if the component is a + <code>UISelectMany</code>, call its <code>getValue()</code> + method. If the result is a <code>List</code> obtain the + values in + the list as an array. Otherwise, the component must be a + <code>UISelectOne</code> instance. Call its + <code>getValue()</code> method, which must be an Object + array. + Look for an element in the resultant array that, 1. when we pass + the renderable value to its <code>equals()</code> + method, it + returns <code>true</code> , or 2. if the renderable + value is null, + and there is a null element in the array, also conclude that the + current element is selected. Otherwise the current element is not + selected. Now, if the current value is selected, write out an + HTML boolean property "selected". If the current + SelectItem.isDisabled() returns true, render "disabled" as the + value of the "disabled" attribute. <span + class="changed_added_2_0">If the value of the <code>escape</code> + property is true, use the <code>writeText()</code> + method of + <code>ResponseWriter</code> to write out the value of + the + <code>label</code> property. Otherwise, use the + <code>write()</code> method of the <code>ResponseWriter</code> + to + do so.</span></p> + </ul> + </ul> + + selectManyListbox + + jakarta.faces.HtmlSelectManyListbox + jakarta.faces.Listbox + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + <p class="changed_modified_2_0"> Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + <code>java.util.Collection</code>, or an EL + expression that + evaluates to either 1. such a String, or 2. the + <code>Class</code> object itself. </p> + + collectionType + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on disabled options. + + disabledClass + false + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + enabledClass + false + java.lang.String + + + + <p class="changed_modified_2_0"> + Flag indicating that, if this component is activated by the + user, + The "no selection option", if any, must be hidden.</p> + + hideNoSelectionOption + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + Number of available options to be shown at all times. + If not specified, all available options are shown. + + size + false + int + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + <p><span + class="changed_modified_2_0">Render</span> an HTML option + list.</p> + <p><a name="decode">Decode Behavior</a></p> + <ul> + <p>See the <a + href="SelectManyListbox.html">"Decode + Behavior for UISelectMany Components"</a> section.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>Render an HTML "select" element. Render the clientId of + the component as the value of the "name" attribute. If the + "styleClass" + attribute is specified, render its value as the value of the "class" + attribute on the "select" element. If the component + to be rendered is a UISelectMany, render "multiple" as the value of + the "multiple" attribute. Render "1" as the value of the "size" + attribute. See the <a + href="SelectManyListbox.html">"Rendering the option + elements" </a> specification for <code>ListboxRenderer</code> + for + more detail on how to render the "option" elements in this + renderer.</p> + </ul> + + selectManyMenu + + jakarta.faces.HtmlSelectManyMenu + jakarta.faces.Menu + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + <p class="changed_modified_2_0"> Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + <code>java.util.Collection</code>, or an EL + expression that + evaluates to either 1. such a String, or 2. the + <code>Class</code> object itself. </p> + + collectionType + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on disabled options. + + disabledClass + false + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + enabledClass + false + java.lang.String + + + + <p class="changed_modified_2_0"> + Flag indicating that, if this component is activated by the + user, + The "no selection option", if any, must be hidden.</p> + + hideNoSelectionOption + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + <p>Render an HTML option list.</p> + <p><a name="decode">Decode Behavior</a></p> + <ul> + <p>See the <a + href="SelectManyListbox.html">"Decode + Behavior for UISelectOne Components"</a> section.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>Render an HTML "select" element. Render the clientId of + the component as the value of the "name" attribute. If the + "styleClass" + attribute is specified, render its value as the value of the "class" + attribute on the "select" element. If the component + to be rendered is a UISelectMany, render "multiple" as the value of + the "multiple" attribute. If the "size" attribute is specified, + render its value as the value of the "size" attribute. Otherwise + use the number of items as the value of the "size" attribute. See + the <a href="SelectManyListbox.html">"Rendering the option + elements" </a> specification for <code>ListboxRenderer</code> + for + more detail on how to render the "option" elements in this + renderer.</p> + </ul> + + selectOneListbox + + jakarta.faces.HtmlSelectOneListbox + jakarta.faces.Listbox + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on disabled options. + + disabledClass + false + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + enabledClass + false + java.lang.String + + + + <p class="changed_modified_2_0"> + Flag indicating that, if this component is activated by the + user, + The "no selection option", if any, must be hidden.</p> + + hideNoSelectionOption + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + Number of available options to be shown at all times. + If not specified, all available options are shown. + + size + false + int + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + <p>Render an HTML option list.</p> + <p><a name="decode">Decode Behavior</a></p> + <ul> + <p>See the <a + href="SelectManyListbox.html">"Decode + Behavior for UISelectOne Components"</a> section.</p> + </ul> + <p>Encode Behavior</p> + <ul> + <p>Render an HTML "select" element. Render the clientId of the + component as the value of the "name" attribute. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute on the "select" element. If the component + to be rendered is a UISelectMany, render "true" as the value of + the "multiple" attribute. Use the number of items as the value of + the "size" attribute. See the <a + href="SelectManyListbox.html">"Rendering + the option elements" </a> specification for + <code>ListboxRenderer</code> for more detail on how to + render the + "option" elements in this renderer.</p> + </ul> + + selectOneMenu + + jakarta.faces.HtmlSelectOneMenu + jakarta.faces.Menu + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on disabled options. + + disabledClass + false + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + enabledClass + false + java.lang.String + + + + <p class="changed_modified_2_0"> + Flag indicating that, if this component is activated by the + user, + The "no selection option", if any, must be hidden.</p> + + hideNoSelectionOption + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + Render a set of html "input" elements of type "radio".

        + +

        Decode Behavior

        + + +

        Encode Behavior

        +
          +
        • If the "group" attribute is not specified, render as follows. +
            +
          • If the "layout" attribute is specified, and its value is "list", render a "ul" element as root element, otherwise render a "table" element.
          • +
          • As an exception to the general rules about how to handle the "id" attribute, render it as an attribute on the outer root element, the value of which is the clientId of the component per the rules at the beginning of this specification.
          • +
          • If the "styleClass" attribute is specified, render the value of the "styleClass" attribute as the value of the "class" attribute on the root element.
          • +
          • If the "style", "border" attributes are specified, pass them thru and render their values as the "style" and "border" attributes on the root element, respectively..
          • +
          • If the "layout" attribute is specified, and its value is "pageDirection", render the children elements vertically, otherwise horizontally, in the root element.
          • +
          • If any of the children are an instance of SelectItemGroup, render them as a nested root element.
          • +
          +
        • +
        • Each of the SelectItem children are ultimately rendered as follows. +
            +
          • If the SelectItem.getLabel() is specified, and the group attribute is specified, render as follows. +
              +
            • Render a "label" element.
            • +
            • Render the "for" attribute of the "label" element whose value is the corresponding "input" element's "id" value.
            • +
            • Render any "class" attribute as the "class" attribute on the "label" element.
            • +
            • Render the label value from SelectItem.getLabel().
            • +
            • Close out the "label" element.
            • +
            +
          • +
          • Render an "input" element of "type" "radio" for each child component.
          • +
          • Render an "id" attribute on the "input" element. Each "id" value must be unique.
          • +
          • If the "group" attribute is not specified, render the "name" attribute on the "input" element with the value of the clientId of the component.
          • +
          • If the "group" attribute is specified, render as follows. +
              +
            • Render the "name" attribute on the "input" element with the value of the "group" attribute.
            • +
            • If the "styleClass" attribute is specified, render the value of the "styleClass" attribute as the value of the "class" attribute on the "input" element.
            • +
            • If the "style" attribute is specified, pass it thru and render its value as the "style" attribute on the "input" element.
            • +
            +
          • +
          • Render the input value from SelectItem.getValue().
          • +
          • Coerce the select item value to the type of the parent UISelectOne value using the Expression Language coercion rules before comparing the values. + If the select item value is equal to the value of the parent UISelectOne, render an appropriate HTML boolean value indicating "checked" for the enclosing "input".
          • +
          • If the current SelectItem.isDisabled() returns true, render "disabled" as the value of the "disabled" attribute.
          • +
          • Close out the "input" element.
          • +
          • If the SelectItem.getLabel() is specified, and the group attribute is not specified, render as follows. +
              +
            • Render a "label" element.
            • +
            • Render the "for" attribute of the "label" element whose value is the corresponding "input" element's "id" value.
            • +
            • Render any "class" attribute as the "class" attribute on the "label" element.
            • +
            • Render the label value from SelectItem.getLabel().
            • +
            • Close out the "label" element.
            • +
            +
          • +
          +
        • +
        • See the "Rendering the option elements" specification for ListboxRenderer for more detail on how to render the "option" elements in this renderer.
        • +
        + ]]>
        + selectOneRadio + + jakarta.faces.HtmlSelectOneRadio + jakarta.faces.Radio + + + + Converter instance registered with this component. + + converter + false + jakarta.faces.convert.Converter + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the converter message, replacing any message + that comes from the converter. + + converterMessage + false + java.lang.String + + + + The component identifier for this component. This value must be + unique within the closest parent component that is a naming + container. + + id + false + java.lang.String + + + + Flag indicating that this component's value must be + converted and validated immediately (that is, during + Apply Request Values phase), rather than waiting + until Process Validations phase. + + immediate + false + java.lang.Boolean + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. The default value for this property is true. + + rendered + false + java.lang.Boolean + + + + Flag indicating that the user is required to provide a submitted + value for this input component. + + required + false + java.lang.Boolean + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validation message for the "required" + facility, if the "required" facility is used. + + requiredMessage + false + java.lang.String + + + + MethodExpression representing a validator method that will be + called + during Process Validations to perform correctness checks on the + value of this component. The expression must evaluate to a + public + method that takes FacesContext, UIComponent, and Object + parameters, + with a return type of void. + + validator + false + void validate(jakarta.faces.context.FacesContext, + jakarta.faces.component.UIComponent, java.lang.Object) + + + + + A ValueExpression enabled attribute that, if present, will be + used as the text of the validator message, replacing any + message that comes from the validator. + + validatorMessage + false + java.lang.String + + + + The current value of this component. + + value + false + java.lang.Object + + + + <p> + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a <code>ValueChangeEvent</code> + parameter, + with a return type of void, <span class="changed_added_2_0">or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed".</span> + </p> + + valueChangeListener + false + void + valueChange(jakarta.faces.event.ValueChangeEvent) + + + + + Access key that, when pressed, transfers focus + to this element. + + accesskey + false + java.lang.String + + + + Width (in pixels) of the border to be drawn + around the table containing the options list. + <p class="changed_added_4_0">This attribute is ignored when the "layout" attribute equals to "list".<span> + + border + false + int + + + + Direction indication for text that does not inherit + directionality. + Valid values are "LTR" (left-to-right) and "RTL" + (right-to-left). + + dir + false + java.lang.String + + + + Flag indicating that this element must never receive focus or + be included in a subsequent submit. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as disabled="disabled". + + disabled + false + java.lang.Boolean + + + + CSS style class to apply to the rendered label + on disabled options. + + disabledClass + false + java.lang.String + + + + CSS style class to apply to the rendered label + on enabled options. + + enabledClass + false + java.lang.String + + + + <p class="changed_modified_2_0"> + Flag indicating that, if this component is activated by the + user, + The "no selection option", if any, must be hidden.</p> + + hideNoSelectionOption + false + java.lang.Boolean + + + + A localized user presentable name for this component. + + label + false + java.lang.String + + + + Code describing the language used in the generated markup + for this component. + + lang + false + java.lang.String + + + + Orientation of the options list to be created. + Valid values are "pageDirection" (list is laid + out vertically), or "lineDirection" (list is + laid out horizontally). If not specified, the + default value is "lineDirection". + + layout + false + java.lang.String + + + + Javascript code executed when this element loses focus. + + onblur + false + java.lang.String + + + + Javascript code executed when this element loses focus + and its value has been modified since gaining focus. + + onchange + false + java.lang.String + + + + Javascript code executed when a pointer button is + clicked over this element. + + onclick + false + java.lang.String + + + + Javascript code executed when a pointer button is + double clicked over this element. + + ondblclick + false + java.lang.String + + + + Javascript code executed when this element receives focus. + + onfocus + false + java.lang.String + + + + Javascript code executed when a key is + pressed down over this element. + + onkeydown + false + java.lang.String + + + + Javascript code executed when a key is + pressed and released over this element. + + onkeypress + false + java.lang.String + + + + Javascript code executed when a key is + released over this element. + + onkeyup + false + java.lang.String + + + + Javascript code executed when a pointer button is + pressed down over this element. + + onmousedown + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved within this element. + + onmousemove + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved away from this element. + + onmouseout + false + java.lang.String + + + + Javascript code executed when a pointer button is + moved onto this element. + + onmouseover + false + java.lang.String + + + + Javascript code executed when a pointer button is + released over this element. + + onmouseup + false + java.lang.String + + + + Javascript code executed when text within this + element is selected by the user. + + onselect + false + java.lang.String + + + + Flag indicating that this component will prohibit changes by + the user. The element may receive focus unless it has also + been disabled. A value of false causes + no attribute to be rendered, while a value of true causes the + attribute to be rendered as readonly="readonly". + + readonly + false + java.lang.Boolean + + + + CSS style(s) to be applied when this component is rendered. + + style + false + java.lang.String + + + + Space-separated list of CSS style class(es) to be applied when + this element is rendered. This value must be passed through + as the "class" attribute on generated markup. + + styleClass + false + java.lang.String + + + + Position of this element in the tabbing order + for the current document. This value must be + an integer between 0 and 32767. + + tabindex + false + java.lang.String + + + + Advisory title information about markup elements generated + for this component. + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a + backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        +
        + + + <p>Renders a UIComponent that represents a single column of + data within a parent <code>UIData</code> component.</p> + + column + + jakarta.faces.Column + + + + + Flag indicating whether or not this component should be rendered + (during Render Response Phase), or processed on any subsequent + form submit. + + rendered + false + java.lang.Boolean + + + + The value binding expression linking this component to a + property in a backing bean + + binding + false + jakarta.faces.component.UIComponent + + + + The component identifier for the associated component + + id + false + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any column footer generated for this table. + + footerClass + false + java.lang.String + + + + Space-separated list of CSS style class(es) that will be + applied to any column header generated for this table. + + headerClass + false + java.lang.String + + + + Flag indicating that this column is a row header column and + therefore cells in this column should be rendered with "th" + instead of "td" and must have the 'scope="row"' attribute. + + rowHeader + false + java.lang.Boolean + + + + + + Renders + an HTML "input" element of "type" "file". The standard HTML_BASIC + RenderKit specifies behavior that assumes Servlet 3.0 or later. + Portlet implementations must override this implementation with a + semantically equivalent one that functions under the constraints + of the Portlet specification.

        + +
        + +

        Decode Behavior

        + +
          + +

          Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If the + Map contains an entry for the "clientId" of the + component, pass the value of the entry to the + setSubmittedValue() method of the component, which + must be an instance of EditableValueHolder, and + return. Otherwise, obtain the "request" property from the + ExternalContext and cast it to + jakarta.servlet.http.HttpServletRequest. Call + getParts() on the httpServletRequest. Iterate over + the parts. If the "name" property of the current part is equal to + the "clientId", then collect the part. + After the iteration, if the multiple attribute is set to true, + then pass java.util.Collection<jakarta.servlet.http.Part> to the setSubmittedValue() method of the component, + else pass the first item, if any, as jakarta.servlet.http.Part to the + setSubmittedValue() method of the component. If an + exception is thrown during the iteration, log the exception and + continue.

          + +

          The standard implementation must override the + getConvertedValue() so that it filters out from the + submittedValue any parts which return + null or an empty string on getSubmittedFileName(), + or return 0 or less on getSize().

          + +

          Any exception thrown when interacting with the underlying + multi-part API must be wrapped in a FacesException + and allowed to reach the ExceptionHandler.

          + +
        + +

        Encode Behavior

        + +
          + +

          Render the clientId of the component as the value of the + "name" attribute. Do not render the "value" attribute. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute.

          + +

          If ProjectStage is not + ProjectStage.Production, verify that the enclosing + form has an enctype attribute whose value is + multipart/form-data. If not, add a + FacesMessage for this component's clientId to the + FacesContext stating that file upload requires a form + with enctype equal to + multipart/form-data. If ProjectStage + is ProjectStage.Production, do not + do this verification.

          + +
        + +
        ]]> +
        + inputFile + + jakarta.faces.HtmlInputFile + jakarta.faces.File + + + + + + converter + false + jakarta.faces.convert.Converter + + + + + + + converterMessage + false + java.lang.String + + + + + + id + false + java.lang.String + + + + + + immediate + false + java.lang.Boolean + + + + + + rendered + false + java.lang.Boolean + + + + + + required + false + java.lang.Boolean + + + + + + requiredMessage + false + java.lang.String + + + + + + validator + false + java.lang.String + + + + If the multiple attribute is set to true, + then this must be assignable to java.util.Collection<jakarta.servlet.http.Part>, + else this must be assignable to jakarta.servlet.http.Part.]]> + + value + false + java.lang.Object + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

        ]]> +
        + valueChangeListener + false + java.lang.String +
        + + + + Comma separated string of mime types of files to filter in client side file browse dialog. + Note: this is not validated in server side. + ]]> + + accept + false + java.lang.String + + + + + + dir + false + java.lang.String + + + + + + disabled + false + java.lang.Boolean + + + + + + label + false + java.lang.String + + + + + + lang + false + java.lang.String + + + + Flag indicating that this element must allow multiple file selection. A value + of false causes no attribute to be rendered, while a value of true causes the attribute to be rendered as + multiple="multiple".]]> + + multiple + false + boolean + + + + + + onblur + false + java.lang.String + + + + + + onchange + false + java.lang.String + + + + + + onclick + false + java.lang.String + + + + + + ondblclick + false + java.lang.String + + + + + + onfocus + false + java.lang.String + + + + + + onkeydown + false + java.lang.String + + + + + + onkeypress + false + java.lang.String + + + + + + onkeyup + false + java.lang.String + + + + + + onmousedown + false + java.lang.String + + + + + + onmousemove + false + java.lang.String + + + + + + onmouseout + false + java.lang.String + + + + + + onmouseover + false + java.lang.String + + + + + + onmouseup + false + java.lang.String + + + + + + onselect + false + java.lang.String + + + + Per the WAI-ARIA spec and its + relationship to HTML5 (Section title ARIA Role Attriubute), + every HTML element may have a "role" attribute whose value + must be passed through unmodified on the element on which it + is declared in the final rendered markup. The attribute, if + specified, must have a value that is a string literal that is, + or an EL Expression that evaluates to, a set of + space-separated tokens representing the various WAI-ARIA roles + that the element belongs to. +

        + +

        It is the page author's + responsibility to ensure that the user agent is capable of + correctly interpreting the value of this attribute.

        ]]> +
        + role + false + java.lang.String +
        + + + + + style + false + java.lang.String + + + + + + styleClass + false + java.lang.String + + + + + + tabindex + false + java.lang.String + + + + + + title + false + java.lang.String + + + + The ValueExpression linking this component to a property in a backing bean + + binding + false + jakarta.faces.component.UIComponent + + +
        + + + + +

        Render the markup for + a <!DOCTYPE> declaration.

        + +

        Decode Behavior

        + +
          + +

          No action is required during decode for this renderer.

          + +
        + +

        Encode Behavior

        + +

        Output an XML Doctype using the provided attributes. Output the + literal text <!DOCTYPE. The "rootElement" attribute is + required and must be rendered next. If the "public" attribute is + defined, render the literal text PUBLIC then render the + value of the attribute inside double quotes. If the "system" attribute + is defined, render it next, inside double quotes. Close the doctype + declaration with the literal text >.

        + +
        + +

        No relocation occurs with the output of this component. It is + rendered at whatever position in the view hierarchy it happens to be + encountered when traversing the view to render. Therefore, this + component must be located in the view hierarchy at the correct location + so that the final rendered markup has it in the proper place with + respect to the user agent that consumes the rendered markup. In practice + this means in front of the <html> or <h:html> element. + Furthermore, if multiple <h:doctype> components exist, + all of them will be rendered.

        + +

        If this component is present in a view, any DOCTYPE that would + otherwise have been rendered by virtue of being present in the VDL page + must be ignored.

        + +
        + + + ]]> +
        + doctype + + jakarta.faces.HtmlDoctype + jakarta.faces.Doctype + + + + + + converter + false + jakarta.faces.convert.Converter + + + + + + id + false + java.lang.Boolean + + + + + + value + false + java.lang.Object + + + + + Will be output as the public part of the DOCTYPE + ]]> + + public + false + java.lang.String + + + + + The root XML element + ]]> + + rootElement + false + java.lang.String + + + + + Will be output as the system part of the DOCTYPE + ]]> + + system + false + java.lang.String + + + + The ValueExpression linking this component to a property in a backing bean + + binding + false + jakarta.faces.component.UIComponent + + + +
        + + + diff --git a/api/src/main/vdldoc/faces.passthrough.taglib.xml b/api/src/main/vdldoc/faces.passthrough.taglib.xml new file mode 100644 index 00000000000..63c8c72c6c7 --- /dev/null +++ b/api/src/main/vdldoc/faces.passthrough.taglib.xml @@ -0,0 +1,47 @@ + + + + + Jakarta Faces Passthrough Attributes Tag Library

        + +

        Facelet tag attributes in + this namespace must be added to the pass through attribute map + on the UIComponent corresponding to the facelet + tag. There are no tags in this tag library.

        + +
        + +

        Usage example

        + +
        <h:outputText value="Namespaced Attributes" pt:foo="bar" />
        + +

        Would cause <span foo="bar">Namespaced Attributes</span> to be rendered.

        + + +
        + + ]]>
        + jakarta.faces.passthrough +
        diff --git a/api/src/main/vdldoc/faces.taglib.xml b/api/src/main/vdldoc/faces.taglib.xml new file mode 100644 index 00000000000..176d57b2dca --- /dev/null +++ b/api/src/main/vdldoc/faces.taglib.xml @@ -0,0 +1,221 @@ + + + + + Jakarta Faces Passthrough Elements Tag Library

        + +

        The presence of an + attribute from this namespace on an otherwise non-Faces aware + markup element indicates that the markup element must be treated + as a Faces component that will be rendered equivalently to what is + specified directly in the Facelet page, with the added benefit + of being associated with a server side UIComponent + instance. + +

        + +
        + +

        Please see the documentation for Java class jakarta.faces.view.facelets.TagDecorator.

        + +
        + + + ]]>
        + jakarta.faces + + Markup element + that causes a component of component-family: + jakarta.faces.Panel with renderer-type: + jakarta.faces.passthrough.Element to be inserted in the tree. + This element is primarily intended to be used by the default + TagDecorator, when no match is found as described in + the javadoc for that class. The component that backs this element + must implement + jakarta.faces.component.behavior.ClientBehaviorHolder + and return "click" from its getDefaultEventName() + method. The list of events returned from its + getEventNames() method must include the "on*" + attributes below, ommitting the leading "on".

        + + + ]]>
        + element + + + + + This attribute must be in the + jakarta.faces.passthrough namespace and + its value must be set into the component's pass through + attributes map under the key given by the value of the symbolic + constant + jakarta.faces.render.Renderer.PASSTHROUGH_RENDERER_LOCALNAME_KEY.

        + + ]]>
        + elementName + true + java.lang.String +
        + + + + Javascript code executed when a pointer button is + clicked over this element. + ]]> + + + onclick + false + java.lang.String + + + + + + Javascript code executed when a pointer button is + double clicked over this element. + ]]> + + + ondblclick + false + java.lang.String + + + + + + Javascript code executed when a pointer button is + pressed down over this element. + ]]> + + + onmousedown + false + java.lang.String + + + + + + Javascript code executed when a pointer button is + released over this element. + ]]> + + + onmouseup + false + java.lang.String + + + + + + Javascript code executed when a pointer button is + moved onto this element. + ]]> + + + onmouseover + false + java.lang.String + + + + + + Javascript code executed when a pointer button is + moved within this element. + ]]> + + + onmousemove + false + java.lang.String + + + + + + Javascript code executed when a pointer button is + moved away from this element. + ]]> + + + onmouseout + false + java.lang.String + + + + + + Javascript code executed when a key is + pressed and released over this element. + ]]> + + + onkeypress + false + java.lang.String + + + + + + Javascript code executed when a key is + pressed down over this element. + ]]> + + + onkeydown + false + java.lang.String + + + + + + Javascript code executed when a key is + released over this element. + ]]> + + + onkeyup + false + java.lang.String + + + + +
        + + +
        diff --git a/api/src/main/vdldoc/faces-api.css b/api/src/main/vdldoc/resources/faces-api.css similarity index 92% rename from api/src/main/vdldoc/faces-api.css rename to api/src/main/vdldoc/resources/faces-api.css index 300ab5f1c38..d4a4c56e41c 100644 --- a/api/src/main/vdldoc/faces-api.css +++ b/api/src/main/vdldoc/resources/faces-api.css @@ -14,11 +14,6 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -/* Javadoc style sheet */ -/* -Overall document style -*/ - body { background-color:#ffffff; background: url(expert-draft-bg.png); @@ -685,7 +680,6 @@ div.contentContainer ul.blockList li.blockList h2{ border-left-width:thin; border-right:none; border-top:none; border-bottom:none; border-color:red; text-decoration: line-through; } -*/ .changed_added_4_0 { background-color:#cfc; @@ -706,6 +700,45 @@ div.contentContainer ul.blockList li.blockList h2{ border-top:none; border-bottom:none; border-color:#f00; text-decoration: line-through; } + .changed_added_4_1 { + background-color:#cfc; + padding-left:0.2em; border-left:solid; + border-left-width:0.2em; border-right:none; + border-top:none; border-bottom:none; border-color:#080;} + + .changed_modified_4_1 { + background-color:#fec; + padding-left:0.2em; border-left:solid; + border-left-width:0.2em; border-right:none; + border-top:none; border-bottom:none; border-color:#fa0;} + + .changed_deleted_4_1 { + background-color:#fcc; + padding-left:0.2em; border-left:solid; + border-left-width:0.2em; border-right:none; + border-top:none; border-bottom:none; border-color:#f00; + text-decoration: line-through; } +*/ + + .changed_added_5_0 { + background-color:#cfc; + padding-left:0.2em; border-left:solid; + border-left-width:0.2em; border-right:none; + border-top:none; border-bottom:none; border-color:#080;} + + .changed_modified_5_0 { + background-color:#fec; + padding-left:0.2em; border-left:solid; + border-left-width:0.2em; border-right:none; + border-top:none; border-bottom:none; border-color:#fa0;} + + .changed_deleted_5_0 { + background-color:#fcc; + padding-left:0.2em; border-left:solid; + border-left-width:0.2em; border-right:none; + border-top:none; border-bottom:none; border-color:#f00; + text-decoration: line-through; } + /* a[href^="#type_faces-config-protected-viewsType"], a[href^="#type_faces-config-flow-definitionType"], a[href^="#type_faces-config-flow-definition-switchType"], a[href^="#type_faces-config-flow-definition-switch-defaultType"], a[href^="#type_faces-config-flow-definition-initializerType"], a[href^="#type_faces-config-flow-definition-finalizerType"], a[href^="#type_faces-config-flow-definition-faces-flow-returnType"], a[href^="#type_faces-config-application-resource-library-contracts-contract-mappingType"], a[href^="#type_faces-config-application-resource-library-contractsType"] { cursor: url(changed_added_2_3_cursor.cur), auto; background: url(changed_added_2_3.png); diff --git a/api/src/main/vdldoc/tags.core.taglib.xml b/api/src/main/vdldoc/tags.core.taglib.xml new file mode 100644 index 00000000000..cccefcdd5d2 --- /dev/null +++ b/api/src/main/vdldoc/tags.core.taglib.xml @@ -0,0 +1,269 @@ + + + + + Jakarta Tags Core Tag Library

        + ]]>
        + jakarta.tags.core + + + catch + + + + var + false + java.lang.String + + + + and + ]]> + choose + + + + + if + + + + test + true + boolean + + + + var + false + java.lang.String + + + + scope + false + java.lang.String + + + + + forEach + + + + items + false + java.lang.Object + + + + begin + false + int + + + + end + false + int + + + + step + false + int + + + + var + false + java.lang.String + + + + varStatus + false + java.lang.String + + + + that follows tags + and runs only if all of the prior conditions evaluated to + 'false' + ]]> + otherwise + + + + Sets the result of an expression evaluation based on the + value of the attributes. If "scope" the is present, but has a zero + length or is equal to the string "page", TagException + is + thrown with an informative error message, ensuring page location + information is saved.

        + +

        This handler operates in one of two ways. + +

          + +
        1. The user has set "var", "value" and (optionally) + "scope" attributes.

        2. + +
        3. The user has set "target", "property", and + "value" + attributes.

        4. + + +
        + +

        The first case takes precedence over the second.

        + + + ]]>
        + set + + + + var + false + java.lang.String + + + + value + false + java.lang.Object + + + + target + false + java.lang.String + + + + property + false + java.lang.String + + + + scope + false + java.lang.String + +
        + + + when + + + + test + true + boolean + + +
        diff --git a/api/src/main/vdldoc/tags.functions.taglib.xml b/api/src/main/vdldoc/tags.functions.taglib.xml new file mode 100644 index 00000000000..2f352d14be0 --- /dev/null +++ b/api/src/main/vdldoc/tags.functions.taglib.xml @@ -0,0 +1,160 @@ + + + + + Jakarta Tags Functions Tag Library

        + ]]>
        + jakarta.tags.functions + + + + Tests if an input string contains the specified substring. + + contains + + boolean contains(java.lang.String, java.lang.String) + + + + Tests if an input string contains the specified substring in a case insensitive way. + + containsIgnoreCase + + boolean containsIgnoreCase(java.lang.String, java.lang.String) + + + + Tests if an input string ends with the specified suffix. + + endsWith + + boolean endsWith(java.lang.String, java.lang.String) + + + + Escapes characters that could be interpreted as XML markup. + + escapeXml + + java.lang.String escapeXml(java.lang.String) + + + + Returns the index withing a string of the first occurrence of a specified substring. + + indexOf + + int indexOf(java.lang.String, java.lang.String) + + + + Joins all elements of an array into a string. + + join + + java.lang.String join(java.lang.String[], java.lang.String) + + + + Returns the number of items in a collection, or the number of characters in a string. + + length + + int length(java.lang.Object) + + + + Returns a string resulting from replacing in an input string all occurrences + of a "before" string into an "after" substring. + + replace + + java.lang.String replace(java.lang.String, java.lang.String, java.lang.String) + + + + Splits a string into an array of substrings. + + split + + java.lang.String[] split(java.lang.String, java.lang.String) + + + + Tests if an input string starts with the specified prefix. + + startsWith + + boolean startsWith(java.lang.String, java.lang.String) + + + + Returns a subset of a string. + + substring + + java.lang.String substring(java.lang.String, int, int) + + + + Returns a subset of a string following a specific substring. + + substringAfter + + java.lang.String substringAfter(java.lang.String, java.lang.String) + + + + Returns a subset of a string before a specific substring. + + substringBefore + + java.lang.String substringBefore(java.lang.String, java.lang.String) + + + + Converts all of the characters of a string to lower case. + + toLowerCase + + java.lang.String toLowerCase(java.lang.String) + + + + Converts all of the characters of a string to upper case. + + toUpperCase + + java.lang.String toUpperCase(java.lang.String) + + + + Removes white spaces from both ends of a string. + + trim + + java.lang.String trim(java.lang.String) + +
        diff --git a/api/src/main/resources/jakarta/faces/jakartaee_10.xsd b/api/src/main/xsd/jakartaee_12.xsd similarity index 99% rename from api/src/main/resources/jakarta/faces/jakartaee_10.xsd rename to api/src/main/xsd/jakartaee_12.xsd index e6859381b6a..0a8cfbb143a 100644 --- a/api/src/main/resources/jakarta/faces/jakartaee_10.xsd +++ b/api/src/main/xsd/jakartaee_12.xsd @@ -4,11 +4,11 @@ xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" - version="10"> + version="12"> - Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2009, 2024 Oracle and/or its affiliates. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at @@ -51,8 +51,6 @@ - - @@ -103,7 +101,6 @@ type="jakartaee:ejb-local-refType" minOccurs="0" maxOccurs="unbounded"/> - + + + + + + + Copyright (c) 2024 Contributors to Eclipse Foundation. + + This program and the accompanying materials are made available under the + terms of the Eclipse Public License v. 2.0, which is available at + http://www.eclipse.org/legal/epl-2.0. + + This Source Code may also be made available under the following Secondary + Licenses when the conditions for such availability set forth in the + Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + version 2 with the GNU Classpath Exception, which is available at + https://www.gnu.org/software/classpath/license.html. + + SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + + + + + + + The XML Schema for the Tag Libraries in the Jakarta Faces + Standard Facelets View Declaration Language (Facelets VDL) + (Version 5.0).

        + +

        Jakarta Faces 5.0 Facelet Tag Libraries that wish to conform to + this schema must declare it in the following manner.

        + + <facelet-taglib xmlns="https://jakarta.ee/xml/ns/jakartaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_5_0.xsd" + version="5.0"> + + ... + + </facelet-taglib>
+ +

The instance documents may indicate the published + version of the schema using xsi:schemaLocation attribute + for jakartaee namespace with the following location:

+ +

https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_5_0.xsd

+ + ]]> + + + + + + + + + + + + + tag-names must be unique within a document. + +

+ ]]> +
+
+ + +
+ + + + + + Behavior IDs must be unique within a document. + +

+ ]]> +
+
+ + +
+ + + + + + Converter IDs must be unique within a document. + +

+ ]]> +
+
+ + +
+ + + + + + Validator IDs must be unique within a document. + +

+ ]]> +
+
+ + +
+
+ + + + + + + + + + The top level XML element in a facelet tag library XML file. + +

+ ]]> +
+
+ + + + + + + + + + + + An advisory short name for usages of tags from this tag library. + +

+ ]]> +
+
+
+ + + + + +
+
+ +
+ + +
+ + + + + + + + + + Extension element for facelet-taglib. It may contain + implementation specific content. + +

+ ]]> +
+
+ + + + +
+ + + + + + + + If the tag library XML + file contains individual tag declarations rather than pointing + to a library-class or a declaring a composite-library name, the + individual tags are enclosed in tag elements.

+ + ]]> +
+
+ + + + + + + + + + + + + + +
+ + + + + + + + + +

The attribute element defines an attribute for the nesting + tag. The attribute element may have several subelements + defining:

+ +
+ +
description

a description of the attribute +

+ +
name

the name of the attribute +

+ +
required

whether the attribute is required or + optional +

+ +
type

the type of the attribute +

+ +
+ +

+ ]]> +
+
+ + + + + + + Defines if the nesting attribute is required or + optional.

+ +

If not present then the default is "false", i.e + the attribute is optional.

+ + ]]> +
+
+
+ + + + + + + Defines the Java type of the attributes + value. If this element is omitted, the + expected type is assumed to be + "java.lang.Object".

+ + ]]> +
+
+
+ + + + + + Defines the method signature for a MethodExpression- + enabled attribute. The syntax of the method-signature + element is as follows (taken from the function-signature + EBNF in web-jsptaglibrary_2_1.xsd):

+ + + +

MethodSignature ::= ReturnType S MethodName S? '(' S? Parameters? S? ')'

+ +

ReturnType ::= Type

+ +

MethodName ::= Identifier

+ +

Parameters ::= Parameter | ( Parameter S? ',' S? Parameters )

+ +

Parameter ::= Type

+ +
+ +

Where:

+ +
    + +
  • Type is a basic type or a fully qualified + Java class name (including package name), as per the 'Type' + production in the Java Language Specification, Second Edition, + Chapter 18.

  • + +
  • Identifier is a Java identifier, as per the + 'Identifier' production in the Java Language Specification, + Second Edition, Chapter 18.

  • + +
+ +

Example:

+ +

java.lang.String nickName( java.lang.String, int )

+ + ]]> +
+
+
+
+
+ +
+ + + + + + + + + + Extension element for tag It may contain + implementation specific content. + +

+ ]]> +
+
+ + + + +
+ + + + + + + + + + If the tag library XML file contains individual function + declarations rather than pointing to a library-class or a + declaring a composite-library name, the individual functions are + enclosed in function elements. + +

+ ]]> +
+
+ + + + + + +
+ + + + + + + + + + Within a tag element, the behavior element encapsulates + information specific to a Faces Behavior. + +

+ ]]> +
+
+ + + + + + +
+ + + + + + + + + + Extension element for behavior. It may contain + implementation specific content. + +

+ ]]> +
+
+ + + + +
+ + + + + + + + Within a tag element, the component + element encapsulates information specific to a Faces UIComponent.

+ +
+ +

As of 3.0 of the specification, this requirement is no longer + present: This element must have exactly one of + <component-type>, <resource-id>, + or <handler-class> among its child elements.

+ +
+ + ]]> +
+
+ + + + + + + + + A valid resource identifier + as specified in the Jakarta Faces Specification Document section 2.6.1.3 "Resource Identifiers". + For example:

+ +

<resource-id>myCC/ccName.xhtml</resource-id>

+ + ]]> +
+
+
+ +
+
+ + + + + + + + + + Extension element for component It may contain + implementation specific content. + +

+ ]]> +
+
+ + + + +
+ + + + + + + + + + Within a tag element, the converter element encapsulates + information specific to a Faces Converter. + +

+ ]]> +
+
+ + + + + + +
+ + + + + + + + + + Extension element for converter It may contain + implementation specific content. + +

+ ]]> +
+
+ + + + +
+ + + + + + + + + + Within a tag element, the validator element encapsulates + information specific to a Faces Validator. + +

+ ]]> +
+
+ + + + + + +
+ + + + + + + + + + Extension element for validator It may contain + implementation specific content. + +

+ ]]> +
+
+ + + + +
+ + + + + + + This type contains the recognized versions of + facelet-taglib supported. + +

+ ]]> +
+
+ + + +
+ + + + + + + + + +

Defines the canonical name of a tag or attribute being + defined.

+ +

The name must conform to the lexical rules for an NCName

+ +

+ ]]> +
+
+ + + + + +
+ + diff --git a/api/src/main/resources/jakarta/faces/web-facesconfig_5_0.xsd b/api/src/main/xsd/web-facesconfig_5_0.xsd similarity index 99% rename from api/src/main/resources/jakarta/faces/web-facesconfig_5_0.xsd rename to api/src/main/xsd/web-facesconfig_5_0.xsd index e38c6e5d7f6..170cb366213 100644 --- a/api/src/main/resources/jakarta/faces/web-facesconfig_5_0.xsd +++ b/api/src/main/xsd/web-facesconfig_5_0.xsd @@ -6,7 +6,7 @@ targetNamespace="https://jakarta.ee/xml/ns/jakartaee" version="5.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - + @@ -54,7 +54,7 @@ version of the schema using xsi:schemaLocation attribute for jakartaee namespace with the following location:

-

https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_0.xsd

+

https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_5_0.xsd

]]>