Overview | Library | Tag | Help
| FRAMES NO FRAMES

## ICEfaces-EE Accessible Components
Tag commandLink

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 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

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. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. Render any non-UIParameter 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.

Tag Information
Tag Class | com.icesoft.components.accessible.CommandLinkTag
TagExtraInfo Class | None
Body Content | JSP
Display Name | None

Attributes
Name | Required | Request-time | Type | Description
accesskey | false | false | `java.lang.String` | Access key that, when pressed, transfers focus to this element.
action | false | false | `java.lang.String` | MethodBinding representing the application action to invoke when this component is activated by the user. The expression must evaluate to a either a String or a public method that takes no parameters, and returns a String (the logical outcome) which is passed to the NavigationHandler for this application.
actionListener | false | false | `java.lang.String` | MethodBinding 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.
binding | false | false | `java.lang.String` | The value binding expression linking this component to a property in a backing bean
charset | false | false | `java.lang.String` | The character encoding of the resource designated by this hyperlink.
coords | false | false | `java.lang.String` | The position and shape of the hot spot on the screen (for use in client-side image maps).
dir | false | 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).
disabled | false | false | `java.lang.String` | Flag indicating that this element must never receive focus or be included in a subsequent submit.
enabledOnUserRole | false | false | `java.lang.String` | If user is in given role, this component will be rendered normally. If not, the component will be in disabled state.
hreflang | false | false | `java.lang.String` | The language code of the resource designated by this hyperlink.
id | false | 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.
immediate | false | 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.
lang | false | false | `java.lang.String` | Code describing the language used in the generated markup for this component.
onblur | false | false | `java.lang.String` | Javascript code executed when this element loses focus.
onclick | false | false | `java.lang.String` | Javascript code executed when a pointer button is clicked over this element.
ondblclick | false | false | `java.lang.String` | Javascript code executed when a pointer button is double clicked over this element.
onfocus | false | false | `java.lang.String` | Javascript code executed when this element receives focus.
onkeydown | false | false | `java.lang.String` | Javascript code executed when a key is pressed down over this element.
onkeypress | false | false | `java.lang.String` | Javascript code executed when a key is pressed and released over this element.
onkeyup | false | false | `java.lang.String` | Javascript code executed when a key is released over this element.
onmousedown | false | false | `java.lang.String` | Javascript code executed when a pointer button is pressed down over this element.
onmousemove | false | false | `java.lang.String` | Javascript code executed when a pointer button is moved within this element.
onmouseout | false | false | `java.lang.String` | Javascript code executed when a pointer button is moved away from this element.
onmouseover | false | false | `java.lang.String` | Javascript code executed when a pointer button is moved onto this element.
onmouseup | false | false | `java.lang.String` | Javascript code executed when a pointer button is released over this element.
rel | false | 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.
rendered | false | 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.
renderedOnUserRole | false | false | `java.lang.String` | If user is in given role, this component will be rendered normally. If not, nothing is rendered and the body of this tag will be skipped.
rev | false | 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.
shape | false | 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).
style | false | false | `java.lang.String` | CSS style(s) to be applied when this component is rendered.
styleClass | false | false | `java.lang.String` | The base name for all style classes. Default value is iceCmdLnk if enabled and iceCmdLnk-dis if disabled.
tabindex | false | 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.
target | false | false | `java.lang.String` | Name of a frame where the resource retrieved via this hyperlink is to be displayed.
title | false | false | `java.lang.String` | Advisory title information about markup elements generated for this component.
type | false | false | `java.lang.String` | The content type of the resource designated by this hyperlink.
value | false | false | `java.lang.String` | The current value of this component.
visible | false | false | `java.lang.String` | Set the visibility of this component. When false CSS style is set to display:none

Variables
| No Variables Defined.

Overview | Library | Tag | Help
| FRAMES NO FRAMES

Output Generated by Tag Library Documentation Generator. Java, JSP, and JavaServer Pages are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. Copyright 2002-4 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054, U.S.A. All Rights Reserved.