Component identification parameters

Name | Value
--- | ---
component-type | javax.faces.HtmlCommandLink
component-family | javax.faces.Command
component-class | javax.faces.component.html.HtmlCommandLink
renderer-type | org.ajax4jsf.HtmlCommandLinkRenderer

## Creating on a page

Component definition on a page is the same as for the original component from the JSF HTML library.

Example:

    <a4j:htmlCommandLink value="value" action="action"/>

## Dynamical creation of a component from Java code

Example:

    import javax.faces.component.html.HtmlCommandLink;
    ...
    HtmlCommandLink myCommandLink = new HtmlCommandLink();
    ...

## Key attributes and ways of usage

The difference with the original component is that all hidden fields required for command links with the child <f:param> elements are always rendered and it doesn't depend on links rendering on the initial page. It solves the problem with invalid links that weren't rendered on a page immediately, but after some Ajax request.

Example:

    <a4j:form>
    	...
    	<a4j:htmlComandLink action="action" value="link" rendered="#{bean.rendered}">
    		<f:param ...>
    	<a4j:htmlComandLink>
    	...
    </a4j:form>

In this example <a4j:htmlCommandLink> works as standard <h:commandLink> , but here hidden fields required for correct functionality are rendered before the first downloading of a page, though it doesn't happen if its attribute isn't set to "false".

## Relevant resources links

Here you can see the example of <a4j:htmlCommandLinks> usage and sources for the given example.