All Downloads are FREE. Search and download functionalities are using the official Maven repository.

facesdoc.HTML_BASIC.javax.faces.Commandjavax.faces.Link.html Maven / Gradle / Ivy

Go to download

This is the master POM file for Oracle's Implementation of the JSF 2.3 Specification.

There is a newer version: 2.3-pfd
Show newest version




<font size="-1">component-family:</font> javax.faces.Command <font size="-1">renderer-type:</font> javax.faces.Link






HTML_BASIC render-kit
component-family: javax.faces.Command renderer-type: javax.faces.Link


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:

  • Get the clientId for the form of which this component is a child.

  • Append NamingContainer.SEPARATOR_CHAR.

  • Append a constant string that is the same for all command link components in the tree.

In the following text, this String is called hiddenFieldName.

Decode Behavior

    Obtain the "clientId" property of the component. Obtain the Map from the "requestParameterMap" property of the ExternalContext. Derive hiddenFieldName as above. Get the entry in the Map 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 javax.faces.event.ActionEvent instance around the component and call queueActionEvent() on the component, passing the event.

Encode Behavior

    If the value of the disabled attribute is true, render a span element. Render all the passthru attributes and the target attribute as pass-through attributes on the span, even though the target attribute will have no effect on a span. Render the current value of the component as the content of the span. Return.

    If the disabled attribute is not present, or its value is false, render an HTML a 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:

    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;

    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. Note that the required url encoding is handled by ResponseWrter.writeAttribute(). 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:

    var a=function(){#USER_FUNCTION#}; var b=function(){#JSF_FUNCTION#}; return (a()==false) ? false : b();

    where #USER_FUNCTION# is the user's JavaScript and #JSF_FUNCTION# is the JavaScript rendered by JSF. The choice function should operate such that if the user's JavaScript returns true, then the rendered JavaScript will also execute.

    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.

    If the user specified a target attribute, its value must be set using javascript since the onclick handler will prevent the target attribute from being generated. This must be accomplished using JavaScript that is equivalent to the following.

    document.forms['CLIENT_ID'].target='TARGET';

    Where TARGET is the value of the target attribute on the JSP tag.

This renderer is responsible for rendering its children.


Note:

Attributes with a pass-through value of true are not interpreted by the renderer and are passed straight through to the rendered markup, without checking for validity. Attributes with a pass-through value of false are interpreted by the renderer, and may or may not be checked for validity by the renderer.

Attributes
attribute-name pass-through attribute-class description default-value
 accesskey true java.lang.String Access key that, when pressed, transfers focus to this element. undefined
 charset true java.lang.String The character encoding of the resource designated by this hyperlink. undefined
 coords true java.lang.String The position and shape of the hot spot on the screen (for use in client-side image maps). undefined
 dir true java.lang.String Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). undefined
 disabled false boolean Flag indicating that this element must never receive focus or be included in a subsequent submit. undefined
 hreflang true java.lang.String The language code of the resource designated by this hyperlink. undefined
 lang true java.lang.String Code describing the language used in the generated markup for this component. undefined
 onblur true java.lang.String Javascript code executed when this element loses focus. undefined
 onclick false java.lang.String Javascript code executed when a pointer button is clicked over this element. undefined
 ondblclick true java.lang.String Javascript code executed when a pointer button is double clicked over this element. undefined
 onfocus true java.lang.String Javascript code executed when this element receives focus. undefined
 onkeydown true java.lang.String Javascript code executed when a key is pressed down over this element. undefined
 onkeypress true java.lang.String Javascript code executed when a key is pressed and released over this element. undefined
 onkeyup true java.lang.String Javascript code executed when a key is released over this element. undefined
 onmousedown true java.lang.String Javascript code executed when a pointer button is pressed down over this element. undefined
 onmousemove true java.lang.String Javascript code executed when a pointer button is moved within this element. undefined
 onmouseout true java.lang.String Javascript code executed when a pointer button is moved away from this element. undefined
 onmouseover true java.lang.String Javascript code executed when a pointer button is moved onto this element. undefined
 onmouseup true java.lang.String Javascript code executed when a pointer button is released over this element. undefined
 rel true 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. undefined
 rev true 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. undefined
 shape true 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). undefined
 style true java.lang.String CSS style(s) to be applied when this component is rendered. undefined
 styleClass 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. undefined
 tabindex true 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. undefined
 target false java.lang.String Name of a frame where the resource retrieved via this hyperlink is to be displayed. undefined
 title true java.lang.String Advisory title information about markup elements generated for this component. undefined
 type true java.lang.String The content type of the resource designated by this hyperlink. undefined

Copyright (c) 2003-2010 Oracle America, Inc. All Rights Reserved.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy