Home   Single Page

EL 表記

属性の名前や、要素、プロセスの命令を除いて、JSPのように、ZUMLのどの部分でもEL表記を使うことができます。

EL表記は構文$ { expr }を使います。例えば、

<element attr1=”${bean.property}”.../>
${map[entry]}
<another-element>${3+counter} is ${empty map}</another-element>

【ヒント】: emptyはマップ、集合、配列、文字列が空(null)かどうかをテストする演算子です。

【ヒント】: map[entry] はマップの要素にアクセスする方法です。つまり、Javaで言う、 map.get(entry) と同じです。

EL表記が属性の値として使われるとき、コンポーネントがその値を受け取れる限り、戻り値はどのようなオブジェクトでも構いません。たとえば、以下の表記はBooleanオブジェクトとして処理されます。

<window if="${some > 10}">

【ヒント】: ELの中の + operatorは算術です。文字列の連結処理はしません。文字列の連結は”${exprl} is added with ${expr2}”でできます。

paramとrequestScopeのような標準的な暗黙オブジェクトとselfとpageのようなZKの暗黙オブジェクトは簡単に使えるようになっています。

<textbox value="${param.who} does ${param.what}"/>

メソッドをインポートするには、次のように xel-method と呼ばれるプロセス命令を使用することが出来ます。

<?xel-method prefix="c" name="forName"
    class="java.lang.Class"    
    signature="java.lang.Class forName(java.lang.String)"?>    
<textbox value="${c:forName('java.util.List')}"/>

EL機能をTLDファイルからインポートするために、以下のようにtaglibと呼ばれるプロセス命令が使えます。

<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" ?>

開発用レファレンスにEL表記の詳細が書かれています。または、JSP2.0チュートリアルかガイドを参照してください。