Facelets: JavaScript から JSF Facelets のタグを呼び出す方法 (jQuery 併用)

使い方

JavaScript から JSF Facelets のタグを呼び出す (jQuery 併用) には以下のように記述します。

XHTML

呼び出される側は以下のように書きます。

  1. <div id="divSubmitJsf">
  2. <h:commandLink id="submitJsf" action="#{myBean.submitJsf}" >
  3. <f:ajax render="@form" />
  4. </h:commandLink>
  5. </div>

  • 上記の例では Ajax をもちいてフォーム内の部分更新をおこなっています。Ajax による記述は、全画面再表示にくらべてちらつきが少ないです。

XHTML

呼び出す側は以下のように書きます。

  1. <th onclick="$('#divSubmitJsf').find('a').click(); return false;">ヘッド文字列</th>

  • 上記の例では jQuery を用いた検索をもちいて記述しています。
  • 隠しリンクが h:commandLink だから 'a' を検索しています。

ポイント

  • Facelets タグの onclick などは、すなおに HTML には変換されてくれないので、このような小技が必要になります。
  • JavaScript と JSF の相互連系でうまくいかない場合には、生成後の HTML ソースを確認することが必要な場合が多々あります。

リンク