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

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 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. 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 pass-through attributes on the "span".

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 |
`fragment` | false | `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. | 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` | true | `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.