custom-attributes"
m (correct highlight (via JWB)) |
|||
Line 10: | Line 10: | ||
[unless="''unless-condition''"]/> | [unless="''unless-condition''"]/> | ||
− | It defines a set of custom attributes of the specified scope. You could specify as many as attributes you want. These attributes can be retrieved by the < | + | It defines a set of custom attributes of the specified scope. You could specify as many as attributes you want. These attributes can be retrieved by the <code>getAttribute</code> method of the <code>Component</code> interface with the specified scope. |
<source lang="xml" > | <source lang="xml" > | ||
Line 18: | Line 18: | ||
== scope == | == scope == | ||
− | [optional][Default: < | + | [optional][Default: <code>component</code> or <code>page</code> depending on this parent] |
− | Specifies the scope to which the custom attributes are associated. If not specified and enclosed with a component, the component is the default scope. If not specified and not enclosed with a component, the default scope is < | + | Specifies the scope to which the custom attributes are associated. If not specified and enclosed with a component, the component is the default scope. If not specified and not enclosed with a component, the default scope is <code>page</code> (since 5.0.8). For example, |
<source lang="xml"> | <source lang="xml"> | ||
Line 36: | Line 36: | ||
[Optional][Default: none] | [Optional][Default: none] | ||
− | Specifies the format of the value. It could be < | + | Specifies the format of the value. It could be <code>none</code>, <code>list</code> or <code>map</code>. |
By default, the value is assigned to the attribute directly after evaluating EL expressions, if any. For example, "apple, ${more}" is evaluated to "apple, orange", if more is "orange", and assigned to the attribute. | By default, the value is assigned to the attribute directly after evaluating EL expressions, if any. For example, "apple, ${more}" is evaluated to "apple, orange", if more is "orange", and assigned to the attribute. | ||
− | If you want to specify a list of values, you can specify the < | + | If you want to specify a list of values, you can specify the <code>composite</code> attribute with <code>list</code> as follows. |
<source lang="xml" > | <source lang="xml" > | ||
Line 48: | Line 48: | ||
Then, it is converted to a list with two elements. The first element is "apple" and the second "orange". | Then, it is converted to a list with two elements. The first element is "apple" and the second "orange". | ||
− | If you want to specify a map of values, you can specify the < | + | If you want to specify a map of values, you can specify the <code>composite</code> attribute with <code>map</code> as follows. |
<source lang="xml" > | <source lang="xml" > |
Latest revision as of 13:27, 19 January 2022
Syntax:
<custom-attributes attr1="value1" [attr2="value2"...] [scope="component|space|page|desktop|session|application"] [composite="none|list|map"] [if="if-condition"] [unless="unless-condition"]/>
It defines a set of custom attributes of the specified scope. You could specify as many as attributes you want. These attributes can be retrieved by the getAttribute
method of the Component
interface with the specified scope.
<custom-attributes cd="${param.cd}" a.b="ab"/>
scope
[optional][Default:component
orpage
depending on this parent]
Specifies the scope to which the custom attributes are associated. If not specified and enclosed with a component, the component is the default scope. If not specified and not enclosed with a component, the default scope is page
(since 5.0.8). For example,
<zk>
<custom-attributes a="A"/><!-- assign to page's attribute (since 5.0.8) -->
<button label="show a" onClick='alert(page.getAttribute("a"))'/>
<button label="show b" onClick='alert(self.getAttribute("b"))'>
<custom-attributes b="B"/> <!-- assign to the button's attribute -->
</button>
</zk>
composite
[Optional][Default: none]
Specifies the format of the value. It could be none
, list
or map
.
By default, the value is assigned to the attribute directly after evaluating EL expressions, if any. For example, "apple, ${more}" is evaluated to "apple, orange", if more is "orange", and assigned to the attribute.
If you want to specify a list of values, you can specify the composite
attribute with list
as follows.
<custom-attributes simple="apple, ${more}" composite="list"/>
Then, it is converted to a list with two elements. The first element is "apple" and the second "orange".
If you want to specify a map of values, you can specify the composite
attribute with map
as follows.
<custom-attributes simple="juice=apple, flavor=${more}" composite="map"/>
Then, it is converted to a map with two entries. The first entry is ("juice", "apple") and the second ("flavor", "orange").
if
[Optional][Default: true]
Specifies the condition to evaluate this element. This element is ignored if the value specified to this attribute is evaluated to false.
unless
[Optional][Default: false]
Specifies the condition not to evaluate this element. This element is ignored if the value specified to this attribute is evaluated to true.
Version History
Version | Date | Content |
---|---|---|
5.0.8 | July, 2011 | The custom-attributes element is allowed to be placed under the page definition directly. |