Home   Single Page

ステップ3.使用

マクロコンポーネントの使用は他のコンポーネントと何も変わりません。

<window>
    <username/>    
</window>

pass プロパティ

普通のコンポーネントを使うように、マクロコンポーネントを使用するとき、プロパティ(aka,.属性)を指定できます。

<?component name="username" macroURI="/WEB-INF/macros/username.zul"?>
<window>
    <username who="John"/>    
</window>

これらのプロパティはすべてマップ中に保存されます。そして、argと呼ばれる変数を通して、テンプレートに送られます。テンプレート中では以下のようにこれらのプロパティにアクセスできます。

<hbox>
    Username: <textbox value="${arg.who}"/>    
</hbox>

【メモ】:マクロページが読み込まれているときのみargは利用可能です。イベントリスナの中で通信するために、getDynamicPropertyを代わりに使用します。より詳しくは「メソッドを使う」セクションを参照ください。

arg.includer

指定したプロパティ(aka,.属性)に加えて、arg.includerと呼ばれるプロパティがマクロテンプレート中で定義されたコンポーネントの親要素を表すためにいつも渡されます。

標準マクロが作成されたとしたら、arg.includerはマクロコンポーネントそのものです。インラインマクロが作成されたら、arg.includerは親コンポーネントです。より詳しくはインラインマクロセクションを参照してください。

上の例ではarg.includerは標準マクロコンポーネント、<username who="John"/>を表します。またそれは<hbox>(username.zul中で定義された)の親要素です。 username.zul).