facesdoc.HTML_BASIC.javax.faces.Commandjavax.faces.Link.html Maven / Gradle / Ivy
Show all versions of javax.faces-api Show documentation
component-family: javax.faces.Command renderer-type: 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.