Renders an <a> tag.
The body is trimmed while written.
If the body is empty after being trimmed, then href itself will be written as the body,
represented in RFC 3987: IRI Unicode format.
If the href has a scheme of mailto:
, telnet:
, or tel:
,
the scheme is stripped and the remainder of the href is displayed.
Any attribute that has no namespace and begins with param.
is added to the href as a URL parameter.
The parameter name is the part of the attribute name following param.
.
When a parameter value is null
it is not added.
When a parameter value is an Enum, the
value is obtained via Enum.name().
If the value is an
Iterable,
Iterator,
Enumeration,
or array, then each non-null element is coerced to
String as a separate
parameter in iteration order. Otherwise, the value itself is
coerced to String
for the parameter value.
Nested <ao:param> or <ao:params> tags will add parameters after any provided as attributes.
Tag Information
Tag Class: | com.aoapps.taglib.ATag |
---|---|
TagExtraInfo Class: | com.aoapps.taglib.ElementTagTEI |
Body Content: | scriptless |
Display Name: | None |
Dynamic Attributes: | true |
Attributes
Name | Required | Evaluation | Type | Description |
---|---|---|---|---|
id | No | Runtime | String |
The id of the element. A nested <ao:id> tag will override this value. |
class | No | Runtime | Object |
The CSS class for the element. A nested <ao:class> tag will override this value. |
dir | No | Runtime | String |
The dir of the element. A nested <ao:dir> tag will override this value. |
style | No | Runtime | Object |
The CSS style for the element. A nested <ao:style> tag will override this value. |
href | No | Runtime | String |
The href for the link. The href is modified in several ways to make things much easier to work with. A nested <ao:href> tag will override this value. In order to make relative paths predictable, relative paths are interpreted from the current JSP page. In order to keep paths app-relative, if starts with a /, the context path will be prepended to the path. In order to simplify things behind URL mapping schemes, the href is always written starting with '/'. This avoids any need to include any <ao:base> tags. URL rewriting is performed as needed via HttpServletResponse.encodeURL. To support paths in different character sets, a Unicode to ASCII URI encoding is performed on every character that is not defined in RFC 3986: Reserved Characters. To avoid ambiguity, any dynamic parameters or anchors in the URL must have been correctly encoded by the caller. Any directly nested <ao:param> or <ao:params> tag will add parameters to the href. |
absolute | No | Runtime | boolean |
When |
canonical | No | Runtime | boolean |
When |
addLastModified | No | Runtime | String |
If the href represents a local resource, a parameter of "lastModified=#####" may be
automatically added with the timestamp of the local resource to the nearest second.
May be one of
In auto mode, last modified stamping may be disabled by the client with
the In auto mode, last modified stamping is not performed on Canonical URLs. |
hreflang | No | Runtime | Object |
The hreflang for the link. A nested <ao:hreflang> tag will override this value. |
rel | No | Runtime | String |
The rel for the link. A nested <ao:rel> tag will override this value. |
target | No | Runtime | String |
The target for the link. A nested <ao:target> tag will override this value. |
title | No | Runtime | Object |
The title text for the element. A nested <ao:title> tag will override this value. |
type | No | Runtime | Object |
The type for the link. A nested <ao:type> tag will override this value. |
onclick | No | Runtime | Object |
A JavaScript onclick handler. A nested <ao:onclick> tag will override this value. |
onmouseout | No | Runtime | Object |
A JavaScript onmouseout handler. A nested <ao:onmouseout> tag will override this value. |
onmouseover | No | Runtime | Object |
A JavaScript onmouseover handler. A nested <ao:onmouseover> tag will override this value. |