ZUL component set that are used for HTML-based clients.
<?page [id="..."] [title="..."] [language="xul/html"]?>
xul/html
.Due to XML's syntax limitation, we can only specify one document root. Thus, if you have multiple root components, you must use <zk> as the document root to group these root components. In other words, <zk> is not a component and it, if used, must be the document root.
<zscript>...</zscript>
<zscript src="/WEB-INF/xx/yy.bs">
<zscript>
import com.MyCompany.MyPackage.MyClass;
MyClass.doThis();
MyClass.doThat();
.</zscript>
<xxx [id="..."] [class="..."] [style="...] [use="..."]/>
<textbox [id="..."] [class="..."] [style="...] [use="..."]
[onChange="script"] [onChanging="script"] [value="value"] [type="|password"]
[maxlength="0|num"] [rows="3|num"] [cols="0|num"]
[disabled="false|true"] [readonly="false|true"] [multiline="false|true"] />
<window [id="..."] [class="..."] [style="...] [use="..."] [title="..."] [border="normal|none"]/>
Depending on invoking from a script or from an EL expression, different implicit objects might be used.
Name | Description | From Script | From EL |
---|---|---|---|
self | The current component that script/EL is interpreted upon. It is the same as this in Java. |
Yes | Yes |
spaceOwner | The owner of the ID space that the current component belongs to
(See What is an ID space").
It is null, if the current component doesn't belong to any space. It is the same as self.getSpaceOwner() in script, self.root in EL and this.getSpaceOwner() in Java. |
Yes | Yes |
desktopScope | The attributes defined in the current desktop. It is the same as this.getPage().getAttributes(name,DESKTOP_SCOPE) in Java. |
Yes | Yes |
pageScope | The attributes defined in the current page. It is the same as this.getPage().getAttributes() in Java. |
Yes | Yes |
spaceScope | The attributes defined in the ID space that the current component belongs to (See What is an ID space"). It is the same as this.getAttributes() with SPACE_SCOPE in Java. | Yes | Yes |
componentScope | The attributes defined in the current component. It is the same as this.getAttributes() with COMPONENT_SCOPE in Java. | Yes | Yes |
arg | A map of parameters that are passed to Execution.createComponents(...). It is the same as desktop.getExecution().getArg() in Java. |
Yes | Yes |
Each window forms an independent ID space. To get a component from an ID space, use Component.getFellow against any component in the same ID space. If a window, say C, is a child of another window, say P, then C belongs the ID space of P, but descendants of C don't. Rather, descendants of C belong to the ID space of C. Notice: C belongs to the ID spaces of both C and P.
A page is also an independent ID space, Page.getFellow is used to retrieve a fellow in it.
Components that are specified with the id attribute (i.e., you have assign an ID) can be accessed directly by the value of the id attribute.
For example,
<label id="label" value="Not good enough?"/>
<button label="Change label" onClick="label.value = label.value + 'A'"/>
The scope of visibility, same as in Java, is controlled by the ID space.
In other words, each window has an independent ID space.
When you specified an ID, only the current ID space is searched.
When window intercepts whether ENTER or ESC is pressed, the onOK or onCancel event is sent, resprectively.
Window intercepts whether control or function keys is pressed if you specify what to intercept by use of the ctrlKeys attribute. For example, If ctrlKeys="GW2" is specified, it means Ctrl+G, Ctrl+W and F2 are all intercepted. Once user press one of them, the onCtrlKey event is sent.