<af:pageTemplate>

af:pageTemplate pageTemplate page template

UIComponentクラス: oracle.adf.view.rich.component.rich.fragment.RichPageTemplate
コンポーネントのタイプ: oracle.adf.RichPageTemplate

ネーミング・コンテナ: 該当。このコンポーネントの子(partialTriggers、findComponent()など)を参照するときには、子のIDの先頭に、このコンポーネントのIDとコロン(:)を付ける必要があります。

pageTemplateをレンダリングします。これは、すべてのページで共通のUIを使用するときに使用します。<af:pageTemplateDef>タグを使用すると、pageTemplateの定義ファイルで共通のUIを定義でき、その他のページでも共通の定義が再利用できるようになります。pageTemplateコンポーネントでは、ネストがサポートされていません(1つのaf:pageTemplateコンポーネントに別のaf:pageTemplateコンポーネントを含めることはできません)。documentコンポーネントは、ルート・コンポーネントとし、af:pageTemplateDefの内部に配置しないようにする必要があります。

JSPタグ属性または<f:attribute>属性を使用して属性を渡すことができます。<f:facet>タグを使用して、ファセットを標準として設定することもできます。定義では、var EL変数を使用してコンポーネントの属性を参照し、<af:componentDef>タグに設定されるcomponentVar EL変数を使用してコンポーネント自体を参照できます。定義で<af:facetRef>タグを使用すると、ファセットを参照できます。各ファセットを参照できるのは1度のみです。

例:

<af:pageTemplate id="weather"
  viewid="pagefragments_weatherBox_jspx">
  <f:attribute name="zip" value="94065"/>
  <f:attribute name="description" value="Redwood Shores, CA"/>
  <f:facet name="forecastSummary">
    <af:outputText value="Partly Cloudy"/>
  </f:facet>
  <f:facet name="forecastDetail">
    <af:panelGroupLayout layout="vertical">
      <af:outputText value="72'F"/>
      <af:outputText value="Partly Cloudy"/>
      <af:outputText value="Wind: W at 16 mph"/>
      <af:outputText value="Humidity: 46%"/>
    </af:panelGroupLayout>
  </f:facet>
</af:pageTemplate>

対応するpagefragments/weatherBox.jspxを次に示します。

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
          version="1.2">
  <af:pageTemplateDef var="attrs">
    <af:xmlContent>
<component xmlns="http://xmlns.oracle.com/adf/faces/rich/component">
  <description>
  This component will show weather forecasts in a box.
  </description>
  <facet>
    <facet-name>forecastSummary</facet-name>
    <description>This child draws out the summary forecast</description>
  </facet>
  <facet>
    <facet-name>forecastDetail</facet-name>
    <description>This child draws out the detailed forecast</description>
  </facet>
  <attribute>
    <attribute-name>zip</attribute-name>
    <description>The Zip code of the area</description>
    <required>true</required>
  </attribute>
  <attribute>
    <attribute-name>description</attribute-name>
    <default-value>Unknown</default-value>
    <description>The city/state of the zip code </description>
  </attribute>
</component>
    </af:xmlContent>
    <af:panelHeader text="Weather Forecast for Zip:#{attrs.zip}, #{attrs.description}">
      <af:facetRef facetname="forecastSummary"/>
      <af:showDetail>
        <af:facetRef facetname="forecastDetail"/>
      </af:showDetail>
    </af:panelHeader>
  </af:pageTemplateDef>        
</jsp:root>

ストレッチ・レイアウトとフロー・レイアウトおよびスクロール・レイアウトについての注意点:

今日のWebブラウザで、スクロール・バーを持つ領域内に垂直方向にストレッチされたコンテンツを配置するのは確実な方法ではありません。ページ構造の外側の領域をストレッチする場合は、コンポーネント・ツリーのアセンブル方法に注意する必要があります。

経験則:

  1. ユーザーはネストされたスクロールバーを好まないため、スクロール用panelGroupLayoutを別のスクロール用panelGroupLayout内に配置しないでください。
  2. コンポーネントのinlineStyle属性にパーセンテージ高さを指定しないでください。
  3. コンポーネントのinlineStyle属性にpositionスタイルを使用しないでください。
  4. 固定のピクセル高さを使用している場合を除き、レイアウト属性に設定した値とは関係なく、panelSplitterまたはpanelStretchLayoutをpanelGroupLayout内に配置しません。

これらのいずれかの規則に違反すると、ページ構造がページ構造ガイドラインに従わないものとなり、各種Webブラウザおよびコンピューティング・プラットフォーム間で一貫性のあるアプリケーションのレンダリングを行うことができなくなる可能性があります。

イベント

フェーズ 説明
org.apache.myfaces.trinidad.event.AttributeChangeEvent アプリケーションの起動、
リクエスト値の適用
属性変更を記述するために配信されるイベント。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。

属性

名前 ELのサポート 説明
attributeChangeListener javax.el.MethodExpression ELのみ 属性変更リスナーへのメソッド・リファレンス。属性変更イベントは、プロパティに対するプログラム的な変更については配信されません。アプリケーションの特定のリクエストなしにレンダラによってプロパティが変更される場合にのみ配信されます。属性変更イベントの例には、クライアント側のサイズ変更をサポートしていた列の幅などがあります。
binding oracle.adf.view.rich.component.<wbr/>rich.fragment.RichPageTemplate ELのみ コンポーネント・インスタンスをBean上に格納するELリファレンス。これは、バッキングBeanからコンポーネントへのプログラム的なアクセスを提供するため、またはコンポーネントの作成をバッキングBeanに移動するために使用できます。
customizationId String あり この属性は推奨されていません。永続的なカスタマイズを適用するには、id属性を使用する必要があります。この属性は、次のリリースでは削除されます。
id String あり コンポーネントの識別子。識別子は、HTMLで許可される構文のサブセットに準拠している必要があります。
partialTriggers String[] あり 部分更新をトリガーするコンポーネントのID。このコンポーネントは、トリガー・コンポーネント上でリスニングします。トリガー・コンポーネントの1つがなんらかの更新を発生させるイベントを受信した場合、このコンポーネントも更新されることをリクエストします。識別子はソース・コンポーネント(このコンポーネント)に対して相対的であり、NamingContainerで構成されている必要があります。コンポーネントがすでにネーミング・コンテナ内にある場合、単一のコロンを使用するとページのルートから検索を開始でき、複数のコロンを使用するとNamingContainerを上方向に移動できます。たとえば、::を前に置くと、コンポーネントのネーミング・コンテナ(または、コンポーネントがネーミング・コンテナである場合にはそのコンポーネント自体)から出てそこから検索を開始します。:::を前に置くと、2つのネーミング・コンテナ(コンポーネントがネーミング・コンテナである場合にはそのコンポーネント自体も含まれます)から出てそこから検索を開始します。
rendered boolean あり コンポーネントがレンダリングされるかどうか。falseに設定した場合、このコンポーネントについて出力は配信されません(コンポーネントはどのような方法でもレンダリングされず、クライアントで表示できません)。
value Object あり bindingsプロパティ。このテンプレートのレンダリングまたはデコード中に、このプロパティはバインディングEL変数に割り当てられます。
viewId String あり 使用するビューID。この属性はコンポーネントで設定するのではなく、JSPタグを使用して設定する必要があります。