0

divポップアップウィンドウとして機能するJSFページがあります。

buttonこのポップアップは、ユーザーが特定のまたはをクリックすると表示されlink、それまでは非表示になります。

AJAX呼び出しを介してこのdivのコンテンツを提供する別のJSFページが欲しいのですが。StrutsActionとJSPフラグメントを使用してこれを行ったことを漠然と覚えています。

JSF 2.0でこれを行うことは可能ですか?

追加の詳細:

私のシナリオは次のとおりです。

  1. のを提供するバッキングBeanとしてdataTableクラスを持つタグを使用して、従業員の詳細を要約テーブルとして表示するページがあります。このページには、の最初の列としてボタンがあります。このページには非表示のがあります。EmployeeInfoCollectionEmployeeBeanradiodataTablediv
  2. radioボタンがオンになっていて特定のボタンがクリックされた場合、呼び出しAJAX中にバッキングBeanを押しEmployeeBeanて、上記のように選択されたの詳細を取得し、この呼び出しにdiv基づいてデータを入力する必要があります。AJAX

最初のページで完全な送信を行い、2番目のページを取得したくない理由は、最初のページで行われた変更の状態を保存したいためです。

4

1 に答える 1

1

タグを使用すると、コンテンツを非常に簡単に表示または非表示にできます。これはすべて大まかなコードですぐに入力されますが、Beanに次のようなものがあると想像してください。

public class MyBean {
  public boolean renderHidden = false;

  public void toggleHidden(AjaxBehaviorEvent event) {
    renderHidden = !renderHidden;
  }
}

次に、JSFページに、ポップアップをui:fragmentとして非表示にするためのリンクがあります。

<h:commandLink value="Click Me!">
  <f:ajax event="click" listener="#{myBean.toggleHidden}" render="hiddenarea" />
</h:commandLink>

<ui:fragment id="hiddenarea" rendered="#{myBean.renderHidden}">
  <div><!-- Content to show/hide here --></div>
</ui:fragment>

そのui:fragmentは、必要に応じてui:includeを介してインクルードする別のJSFページに簡単に含めることができます。重要な点は、f:ajaxテイクがAJAX呼び出し(この場合はクリックイベント)を行い、指定された要素(hiddenarea)を更新することです。

于 2012-05-04T11:30:38.580 に答える