Oracle® Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド 11gリリース2 (11.1.2.2.0) B66719-02 |
|
前 |
次 |
この章では、印刷や電子メールに適したモードでページをどのように表示できるかについて説明します。
この章では、次の項目について説明します。
ADF Facesでは、ページを印刷または電子メール用に簡略化されたモードで出力できます。たとえば、ユーザーがページ(またはページの一部)を印刷できるようにし、ただしWebブラウザでレンダリングされているとおりにページを印刷するのではなく、スクロール・バーやボタンなど、印刷ページに必要ないアイテムを削除することができます。ページが電子メールで送信される場合は、電子メール・クライアントが正しく表示できるようにページを簡略化する必要があります。
注意: デフォルトでは、ADF Facesフレームワークによりアプリケーションが検索エンジンによってクロール中であると検出されると、クローラ用に電子メール用のページに似た簡略化された形式でページが出力されます。Web Crawlerの専用コンテンツを生成する場合、ELでアクセス可能な <c:if test="#{requestContext.agent.type == 'webcrawler'}"> <af:goLink text="This Link is rendered only for web crawlers" destination="http://www.newPage.com"/> </c:if> 詳細は、Trinidad JavaDocを参照してください。 |
印刷可能なページを表示するために、ADF FacesにはshowPrintablePageBehavior
タグがあり、コマンド・コンポーネントとともに使用すると、ユーザーはブラウザに簡略バージョンのビューを表示して、それを印刷できます。
電子メールのサポート用に、ADF Facesには、ページをMicrosoft Outlook 2007またはMozilla Thunderbird 2.0のいずれかでの表示に適したものに変換するためのAPIが用意されています。
ヒント: 現行の出力モード(
<af:activeImage source="/images/stockChart.gif" rendered="#{adfFacesContext.outputMode != "email"}"/>
現行モードは |
大分部のWebページは、印刷または電子メールに適していませんが、ユーザーにはその機能が必要な場合があります。たとえば、File Explorerアプリケーションでは、commandButton
コンポーネントを、図34-1に示すように、表が含まれているpanelCollection
コンポーネントのツールバー内に配置できます。
ユーザーがボタンをクリックすると、ページが新規のウィンドウ(ブラウザによってはタブ)に、図34-2のように簡略化された形で表示されます。
表の内容のみが印刷用に表示されます。タブ、ツールバー、スクロール・バーなどの関係ないコンポーネントはすべてレンダリングされません。
アプリケーション内のページを電子メールで送信することが必要になる場合があります。たとえば、Web上で作成された注文書は、多くの場合、セッションの最後に購入者に電子メールで送信されます。しかし、電子メール・クライアントでWebブラウザへのレンダリングに使用される外部スタイルシートがサポートされていないために、正しくレンダリングされないという理由で、同じページを電子メールで送信できません。
図34-3に示すように、発注書が表示されたページがあるとします。
ユーザーが上部の電子メール可能なページリンクをクリックすると、actionListener
メソッドまたは別のサービスによりorg.apache.myfaces.trinidad.agent.email=true
が現行のURLに追加され、ページが電子メールで送信されます。図34-4に、電子メール・クライアントで表示されるページを示します。
showPrintablePageBehavior
タグを子としてコマンド・コンポーネントに配置します。クリックすると、フレームワークは、printableBehavior
タグに対する親のコンポーネントから始まるコンポーネント・ツリーを、panelSplitter
またはpanelAccordion
、あるいはツリーのルート(いずれか早い方)に到達するまで上っていきます。ツリーはそこからレンダリングされます。さらに、印刷バージョンに必要のない一部のコンポーネント(ボタン、タブ、スクロールバーなど)は省略されます。
コマンド・コンポーネントがクリックされると、アクション・イベントは取り消されます。かわりに、サーバーに対して、ページの印刷可能なバージョンが要求されます。
showPrintablePageBehavior
タグは、コマンド・コンポーネントの直接の子として使用されます。
showPrintablePageBehaviorタグを使用する手順:
レイアウト・コンポーネントのいずれかで、印刷するコンテンツを含むファセットにコマンド・コンポーネントを追加します。手順は、20.3.1項「コマンド・ボタンおよびコマンド・リンクの使用方法」を参照してください。
注意: ユーザーがページ全体を印刷できるようにレイアウト・コンポーネントの外に |
コンポーネント・パレットで、「操作」パネルから、「印刷可能なページの表示動作」をドラッグし、子としてコマンド・コンポーネントにドロップします。
ADF Facesフレームワークでは、JSFページが自動変換され、Microsoft Outlook 2007とMozilla Thunderbird 2.0の電子メール・クライアントで正しくレンダリングされます。
すべてのコンポーネントが電子メール・クライアントでレンダリングできるとはかぎりません。次のコンポーネントは変換できるため、電子メール・クライアントで正しくレンダリングできます。
document
panelHeader
panelFormLayout
panelGroupLayout
panelList
spacer
showDetailHeader
inputText
(readOnlyとしてレンダリング)
inputComboBoxListOfValues
(readOnlyとしてレンダリング)
inputNumberSlider
(readOnlyとしてレンダリング)
inputNumberSpinbox
(readOnlyとしてレンダリング)
inputRangeSlider
(readOnlyとしてレンダリング)
outputText
selectOneChoice
(readOnlyとしてレンダリング)
panelLabelAndMessage
image
table
column
goLink
(テキストとしてレンダリング)
commandImageLink
(テキストとしてレンダリング)
commandLink
(テキストとしてレンダリング)
goImageLink
(テキストとしてレンダリング)
電子メールで送信されるページのURLにリクエスト・パラメータに追加することにより、ADF Facesフレームワークに対して、ページを電子メール・クライアントでレンダリングするために変換することを通知します。
始める前に:
コンポーネントが電子メール送信可能なページでどのように表示されるかについて理解しておくと役立ちます。詳細は、34.3項「電子メール送信可能なページの作成」
電子メール送信可能なページを作成する手順:
電子メールで送信するページにコマンド・コンポーネントを挿入します。詳細は、第20章「ナビゲーション・コンポーネントの使用」を参照してください。
マネージドBeanで、現行のURLにorg.apache.myfaces.trinidad.agent.email=true
を追加し、ページを電子メールで送信するactionListener
メソッドまたは別のサービスを作成します。
コマンド・コンポーネントを選択し、プロパティ・インスペクタで、「ActionListener」の値としてメソッドまたはサービスを設定します。
ページの開発を完了する前に、電子メール・クライアントでページがどのようにレンダリングされるかをテストすることもできます。これはgoButton
コンポーネントを使用すれば簡単にできます。
電子メール送信可能なページをテストする手順:
コンポーネント・パレットで、「一般コントロール」パネルから、「ボタン(実行)」をページ上のどこかにドラッグ・アンド・ドロップします。
プロパティ・インスペクタで、「共通」セクションを開き、「Destination」をページの名前とorg.apache.myfaces.trinidad.agent.email=true
に設定します。
たとえば、ページの名前がmyPage
の場合、宛先属性の値は次のようになります。
myPage.jspx?org.apache.myfaces.trinidad.agent.email=true
ページを右クリックし、「実行」を選択して、デフォルトのブラウザでページを実行します。
アプリケーションを初めて実行し、新しいドメインを統合WebLogic Serverで開始する際に、「デフォルト・ドメインの構成」ダイアログが表示されます。ダイアログを使用して新しいドメインの管理者パスワードを定義します。入力するパスワードは8文字以上で、数字が含まれている必要があります。
ブラウザでページが表示されたら、ページに追加した「goButton」
をクリックします。これでブラウザに再びページが表示されますが、電子メール・クライアントで処理できるページに変換されています。
ブラウザで、ページのソースを表示します。たとえば、Mozilla Firefoxでは、「表示」→「ページのソース」を選択します。ソース全体を選択してコピーします。
電子メール・クライアントで新規メッセージを作成します。ページのソースをメッセージに貼り付け、それを自分宛てに送信します。
ヒント: HTMLコードを貼り付けているので、電子メール本体にそのHTMLを挿入するための挿入コマンドを使用することが必要になります。たとえば、Thunderbirdでは、「挿入」→「HTML」を選択します。 |
必要に応じて、特にページの電子メール・バージョン用に、エージェントを使用してスキンを作成します。例34-1に、電子メールでレンダリングされる表の枠線をどのように指定するかを示しています。
例34-1 電子メール送信可能なページのスキン
af|table { border: 1px solid #636661; } @agent email { af|table {border:none} } af|table::column-resize-indicator { border-right: 2px dashed #979991; }
スキンの作成の詳細は、第28章「スタイルおよびスキンを使用した外観のカスタマイズ」を参照してください。
ADF Facesフレームワークでは、レンダー・レスポンス・フェーズでリクエスト・パラメータorg.apache.myfaces.trinidad.agent.email=trueを受信すると、関連付けられたフェーズ・リスナーにより、フレームワークに次のことを実行するように通知する内部フラグが設定されます。
HTMLからすべてのJavaScriptを削除します。
ページにすべてのCSSを追加しますが、ページに含まれているコンポーネントに対してのみです。
HTMLからCSSリンクを削除します。
すべての相対リンクを絶対リンクに変換します。
絶対URLを持つイメージをレンダリングします。