このトピックでは、ADF FacesのHTMLコンポーネントframeBorderLayout
およびframe
について説明します。これらのコンポーネントを使用すると、事前定義の7つの位置(centerを含む)にフレーム・コンテンツを配置して表示できます。
frameBorderLayout
コンポーネントは、複数のframe
コンポーネントによって指定されたフレーム・コンテンツに対するレイアウト要素です。frame
コンポーネントはframeBorderLayout
のファセット・コンポーネントとしてのみ使用され、フレーム・コンテンツを表示します。フレーム・コンテンツにURIを指定するには、afh:frame
にsource
属性を設定します。その他のフレーム属性では、フレーム・マージンの高さと幅およびフレームのスクロール・バーを使用可能にするかどうかを設定できます。
<afh:frameBorderLayout>
<f:facet name="left">
<afh:frame source="frame_leftTest.jspx" name="left" width="30%" />
</f:facet>
<f:facet name="center">
<afh:frame source="frame_centerTest.jspx" name="contents" />
</f:facet>
...
</afh:frameBorderLayout>
frameBorderLayout
は、事前定義の名前付き領域にフレームを配置するための11種類のファセットをサポートしています。各ファセットには、frame
または別のframeBorderLayout
を挿入できます。frameBorderLayout
では、そのファセット内のコンポーネント以外の子コンポーネントをレンダリングすることはできません。
frameBorderLayout
ファセットまたは名前付き領域は、次のとおりです。
bottom
: フレームをcenterフレームの下部にレイアウトします。
center
: centerフレームをレイアウトします。必ず指定してください。
end
: フレームをcenterフレームの右にレイアウトします。右から左への記述の場合は、フレームをcenterフレームの左にレイアウトします。
innerEnd
: フレームをinnerRight
と同じ領域にレイアウトします。右から左への記述の場合は、innerLeft
で定義された領域と同じ領域にフレームをレイアウトします。
innerLeft
: フレームをleftフレームとcenterフレームの間にレイアウトします。
innerRight
: フレームをrightフレームとcenterフレームの間にレイアウトします。
innerStart
: innerLeft
で定義された領域と同じ領域にフレームをレイアウトします。右から左への記述の場合は、innerRight
で定義された領域と同じ領域にフレームをレイアウトします。
left
: フレームをcenterフレームの左にレイアウトします。
right
: フレームをcenterフレームの右にレイアウトします。
start
: フレームをcenterフレームの左にレイアウトします。右から左への記述の場合は、フレームをcenterフレームの右にレイアウトします。
top
: フレームをcenterフレームの上部にレイアウトします。
注意:
af:document
コンポーネントを使用する必要があります。「ADF Facesドキュメント・タグについて」を参照してください。
alternateContent
ファセットを使用します。
height
属性を使用してフレームの高さを指定します。
width
属性を使用してフレームの幅を指定します。
end
とright
の両方を使用した場合、right
がend
よりも優先されます。同じように、start
とleft
の両方を使用した場合、left
がstart
よりも優先されます。innerEnd
とinnerRight
、innerStart
とinnerLeft
についても同様です。
start
とright
の両方を使用した場合、right
がstart
よりも優先されます。同じように、end
とleft
の両方を使用した場合、left
がend
よりも優先されます。innerEnd
とinnerLeft
、innerStart
とinnerRight
についても同様です。
afh:frame
およびafh:frameBorderLayout
では、JavaScriptのイベント・ハンドラ属性(onclick、onmouseoverなど)はサポートされません。
frameBorderLayout
に対してレンダリングされ、各フレームは独立したページとして開きます。
afh:frame
にlongDescURL
を設定して、フレームの長い説明へのリンクを指定します。この説明は、shortDesc
属性を使用して提供される短い説明を補足するものです。
frameBorderLayout
を使用するJSFページ:
<f:view>
<afh:html>
<afh:head title="FrameBorderLayout Demo"/>
<afh:frameBorderLayout>
<f:facet name="top" >
<afh:frame width="100%" height="30pt" scrolling="yes" source="frameBorderLayout.top.jspx" />
</f:facet>
...
<f:facet name="center" >
<afh:frame scrolling="auto" source="frameBorderLayout.center.jspx" />
</f:facet>
</afh:frameBorderLayout>
</afh:html>
</f:view>
フレームのコンテンツ・ソースframeBorderLayout.center.jspx
を保持するJSFページ:
<f:view>
<af:document title="FrameBorderLayout Demo">
<af:form>
<af:panelGroup layout="vertical">
<f:facet name="separator">
<af:objectSeparator />
</f:facet>
<af:outputFormatted styleUsage="instruction" value="<b>A frameBorderLayout</b>"/>
</af:panelGroup>
</af:form>
</af:document>
</f:view>
Copyright © 1997, 2006, Oracle. All rights reserved.