Target: A method's parameter (for initial and command methods)

Purpose: Tell binder to retrieve this parameter with specified key from the current execution's argument.

The annotation is applied to initial (or command) method's parameter. It declares that the applied parameter should come from the current execution's argument with specified key.

Since 9.5.0

The value can be omitted if name is the same as the annotated parameter.

@ExecutionArgParam String keyString


Assume we want to pass an argument to an included ZUL that uses a ViewModel: ExecutionParamVM.

outer ZUL

<window >
    <include arg1="foo" src="executionparam-inner.zul"/>

We use annotation to retrieve execution's argument with key "arg1".

public class ExecutionParamVM {

    private String arg1;

    public void init(@ExecutionArgParam String arg1) {
        this.arg1 = arg1;
    //setter, getter, and others


<vbox apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('foo.ExecutionParamVM')">
    <label value="@load(vm.arg1)"/>
  • The label will display "foo".