forEachのリンクからdoメソッドの実行

forEach内のリンクからPageクラスを呼び出す。
Java Expert 2で「JavaScriptからPageクラスの呼び出し方法」が記載されていたのでこれを利用することにした。

リンクを


<a href="aaaaa" id="goDummy">Test</a>
のように記述し、

<input type="button" id="doDownload" value="ダウンロード" style="display:none;" />
<input type="hidden" id="clickIndex"/>
もどこかに書いておく。(forEachの外側)

JavaScriptでは


function download(index){
var f = document.form;
f.clickIndex.value = index;
f['form:doDownload'].click();
}
このままではJavaScriptを呼び出せないし、forEach内のIndexがわからない・・・ここでDynamicPropertyの登場。

public String getGoDummyHref() {
return "javascript:download(" + xxxIndex +");";
}
こんな感じで書いてあげるとdoメソッドを呼びことができるし、Indexを取得できるな。ちょっとスマートでない気がするけど。