JavaScript から JSF Facelets のタグを呼び出す方法 (jQuery 併用)
JavaServer Faces の Facelets で開発していてハマるののひとつが JavaScript から JSF タグを呼び出す場合です。
jQuery からの呼び出しには、まず div で囲った隠しタグを用意しておきます。
<div id="divSubmitJsf"> <h:commandLink id="submitJsf" action="#{myBean.submitJsf(0)}" > <f:ajax render="@form" /> </h:commandLink> </div>
実際に呼び出ししたい箇所からは、$('XXX') で div タグを見つけてから a タグを find してクリックします。以下は TABLE の TH から呼び出す想定の例です。
<th onclick="$('#divSubmitJsf').find('a').click(); return false;">ヘッド文字列</th>
JavaServer Facelets タグの onclick などは、すなおに HTML には変換されないので、このような小技が必要になります。