Home   Single Page

UUIDはIDです

従来のサーブレットとJavaScriptコードは大抵id属性によって決められます。そのため、XHTMLコンポーネントのUUIDはIDと同じに作ら れています。
ですから、開発者は以下に示すように、既に存在しているコードを変更して、ZKへ適応させる必要はありません。

<img id="which"/>
<script type="text/javascript"><![CDATA[
//JavaScript and running at the browser
    function change() {    
        var el = document.getElementById("which");        
        el.src = "something.gif";        
    }    
]]></script>
<zscript><!-- Java and running at the server -->
    void change() {    
        which.src = "another.gif";        
    }    
</zscript>

UUIDは不変で、XHTML以外のコンポーネントに対しては無関係です。
このため、上の例はXULコンポーネントが使われていると、失敗します。
JavaScript中でXULコンポーネントを参照する場合、現在のUUIDを得るためのEL表記を使用しなければなりません。

<input id="which"/>
<script type="text/javascript">//Running at the browser
    var el = document.getElementById("${which.uuid}");    
    el = $e("${which.uuid}"); //$e() is an utility of ZK Client Engine    
</script>

副作用

UUIDはIDなので、同じデスクトップで二つのコンポーネントに対して同じ名前は使えません。