<af:pageTemplateDef>

pageTemplateDef page template def


ページ・テンプレートを定義します。documentコンポーネントを含めないようにする必要があります。

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

現在のWebブラウザでは、垂直方向にスクラッチされるコンテンツが、同じくスクロール・バーのある領域の内側にあると、信頼性が失われます。ページ構造の外部領域をストレッチする場合は、コンポーネント・ツリーのアセンブル方法に注意する必要があります。第1に、(panelSplitterとpanelStretchLayoutを使用して)ストレッチ可能なコンポーネントの構造を作成します。第2に、この構造内に、ストレッチされないコンテンツのアイランドを作成します。これらのアイランドは、layout="scroll"が設定されたpanelGroupLayoutに基づいている必要があります。このようなコンポーネントは、ストレッチされることができ、かつその子をストレッチしないため、事実上ストレッチされません。経験則: 1.)スクロールpanelGroupLayoutは別のスクロールpanelGroupLayoutの内側に配置しないでください。これは、スクロール・バーがネストされていると、操作性が低下するためです。2.)どのコンポーネントのinlineStyle属性でも、パーセンテージ高さを指定しないでください。3.)いずれのコンポーネントのinlineStyle属性でも、positionスタイルを使用しないでください。4.)固定ピクセル高さを使用しないかぎり、レイアウト属性の設定に関係なく、panelSplitterとpanelStretchLayoutは、どのpanelGroupLayoutの内側にも配置しません。これらの経験則に反する設定が必要となる場合は、ページ構造がページ構造ガイドラインに準拠していない可能性があります。このような場合、様々なWebブラウザやコンピューティング・プラットフォームに対して、アプリケーションのレンダリングの一貫性を維持できないことがあります。コンポーネントのストレッチに関する具体的な詳細は、各コンポーネントのタグ・ドキュメントのジオメトリ管理に関する項を参照してください。アプリケーションで開始点として使用できる実際のレイアウト例については、デモ・アプリケーションを参照してください。適切な開始点は、デモ・アプリケーションの「Framework Features」タブに一覧表示されるLayout Basicsページです。

ページ・テンプレート定義の例:

<source>
<?xml version='1.0' encoding='utf-8'?>
<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>

</source>

ページ・テンプレート使用方法の例:

<source>
<af:pageTemplate id="weather" viewid="pagefragments_weatherBox_jspx"
  zip="94065" description="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 Degrees 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>

</source>

属性

名前 ELのサポート 説明
var String なし このページ・テンプレートの使用方法で定義された属性を参照するために使用するEL変数の名前。
componentVar String なし このページ・テンプレートの使用方法で定義されたコンポーネントを参照するために使用するEL変数の名前。