forEachのリンクからdoメソッドの実行
forEach内のリンクからPageクラスを呼び出す。
Java Expert 2で「JavaScriptからPageクラスの呼び出し方法」が記載されていたのでこれを利用することにした。
リンクを
のように記述し、
<a href="aaaaa" id="goDummy">Test</a>
もどこかに書いておく。(forEachの外側)
<input type="button" id="doDownload" value="ダウンロード" style="display:none;" />
<input type="hidden" id="clickIndex"/>
このままではJavaScriptを呼び出せないし、forEach内のIndexがわからない・・・ここでDynamicPropertyの登場。
function download(index){
var f = document.form;
f.clickIndex.value = index;
f['form:doDownload'].click();
}
こんな感じで書いてあげるとdoメソッドを呼びことができるし、Indexを取得できるな。ちょっとスマートでない気がするけど。
public String getGoDummyHref() {
return "javascript:download(" + xxxIndex +");";
}