ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portalでのポータルの構築
11gリリース1 (11.1.1.8.3)
E50013-03
  目次へ移動
目次

前
 
次
 

19 ページ、タスク・フロー、ポートレットおよびADFコンポーネントの結付け

この章では、ページ、タスク・フロー、ポートレットおよびADFコンポーネントなどのコンポーネントを結び付ける方法について説明します。コンポーネントの結付けを使用すると、ページとそのコンポーネント間およびコンポーネント間自体にさらに複雑な関係を作成できます。

この章の内容は、次のとおりです。


権限:

この章のタスクを実行するには、ポータル・レベルの権限であるBasic Services: Edit Page Access, Structure, and Content (標準権限)またはPages: Edit Pages (アドバンスト権限)を持つポータル・モデレータまたはポータル・メンバーである必要があります。

権限の詳細は、第29.1項「ポータルのロールと権限について」を参照してください。


19.1 コンポーネントの結付けについて

ページがそのページ上のコンポーネントからの情報を必要とし、リージョンが他のリージョンからの情報を必要とすることがよくあります。その情報を得るのにページURLを介してパラメータを引渡すことはできますが、この操作に意味があるのは、そのパラメータが既知であり、かつ入力が式言語(EL)を介してそのページにアクセス可能である場合のみです。詳細は、第19.4項「ページURLを介したパラメータ値の受渡し」を参照してください。

複数のページ・フラグメントを持つタスク・フローがあり、そのページ・フラグメントには、タスク・フロー内のページへの入力として使用できる様々な興味深い値が含まれている場合を考えます。たとえば、ユーザーが入力フォームで指定する会社固有の情報の表示専用ページを考えます。値の引渡しにパラメータを使用するのであれば、すべてのフラグメント上にある興味深い値それぞれの組合せに対する出力パラメータを、タスク・フロー上に明示させる必要があります。このような場合に、コンポーネントの結付けが役立ちます。かわりに、必要な情報を含むフラグメントごとに、コンポーネントの結付けを使用して、ページが発行されるときに呼び出されるコンテキスト・イベントを定義することもできます。これにより、情報を必要とするページやフラグメントは様々なイベントをサブスクライブし、このイベントを介して情報を受け取ることができます。

コンポーザは、ページの「パラメータ」タブおよび「コンポーネント・プロパティ」ダイアログを介して、ページとコンポーネントの結付けのためのツールを提供します。

19.1.1 パラメータとイベントの結付けについて

パラメータおよびイベントを使用して、値をコンポーネント間またはページとそのページのコンポーネント間で渡すことができます。また、値は、ページのURLに指定してページ・コンポーネントに渡すこともできます。


注意:

この章では、コンポーネントは、ボタンなどのADFコンポーネント、ハイパーリンク、タスク・フロー、ポートレットなどのWeb開発コンポーネントの総称として使用されています。


値の受渡しは、ページのコンテンツとそのコンポーネントを同期化したり、コンポーネント間でコンテンツを同期化する場合に役立ちます。たとえば、「OK」ボタンをクリックすると、ユーザーが入力した値がページの別のコンポーネントに渡されるように、「パラメータ・フォーム」ポートレットを結び付けることができます。このモデルを適用する方法の1つとして、ユーザーが入力した名前をその名前に関連する詳細が表示されるタスク・フローまたはポートレットに渡す方法があります。

パラメータの受渡しシナリオでの動作を確認する場合、1つのコンポーネントをプロデューサ、他のコンポーネントをコンシューマと見なすと有効です。プロデューサ・コンポーネントは、コンシューマ・コンポーネントで使用されるデータ(ペイロードと呼ばれる)を提供します。たとえば、通常、フォーム・ポートレットはプロデューサです。ペイロードは、ユーザーがフォームに入力するデータになります。プロデューサに定義されたイベントによって、プロデューサのペイロードがコンシューマに渡されます。コンシューマ・コンポーネントでは、様々な方法でペイロードが使用されます。たとえば、表示文字列、マスター・ディテール関係でのマスターなどとして使用されます。コンシューマでのペイロードの使用方法は、コンシューマ・コンポーネントの作成時に定義されたイベント・ハンドラに指定されています。

パラメータおよびイベントによる意味のある結付けの生成に必要な大量のリフト処理は、大部分がアプリケーションおよびコンポーネントの設計時に実行されます。開発者は、アプリケーションおよびコンポーネントの作成時に、イベントおよびイベント・マップをページ定義ファイルに指定します。つまり、実行時に結付けを行うには、結び付けるコンポーネントで、設計時に組み込まれた要素を介してその結び付けに対するサポートが提供されている必要があります。


注意:

実行時とは、ユーザーが実際の環境でアプリケーションを実行するときを表します。これは、開発者がアプリケーションを作成するときを表す設計時と対比されます。


実行時に結付けを行うと、プロデューサのイベントとコンシューマのイベント・ハンドラ間に関係が作成されます。これらの関係は、ページ・エディタで作成できます。コンポーネントを選択し、「コンポーネント・プロパティ」ダイアログの「イベント」タブでコンポーネントのイベントのサポートを表示します(図19-1)。

図19-1 「コンポーネント・プロパティ」ダイアログの「イベント」タブ

図19-1の説明が続きます
「図19-1「コンポーネント・プロパティ」ダイアログの「イベント」タブ」の説明

イベントおよびイベント・ハンドラを選択して有効にすると(図19-1「アクション」セクションを参照)、イベントの起動時に配信するペイロードのタイプを定義できます。

ページ・エディタにより、ページの「パラメータ」タブでページ・パラメータを作成することもできます(図19-2)。

図19-2 (ページ・エディタでの)ページ・パラメータの追加

図19-2の説明が続きます
「図19-2 (ページ・エディタでの)ページ・パラメータの追加」の説明

「パラメータ」タブは、新しいページ・パラメータの作成および既存のページ・パラメータの変更を行う場合に使用します。定数、EL式、ページ・パラメータおよびページ定義変数などの値タイプを使用するパラメータを作成します。詳細は、第13.11項「ページ・パラメータの追加または変更」を参照してください。

ページ・パラメータが使用されるようにページ・コンポーネントを構成したり、ページURLを介してそれらのパラメータに値を渡すことが簡単にできます。

19.2 コンポーネント間の結付け

イベントおよびイベント・ハンドラが組み込まれているコンポーネントを結び付けて、プロデューサ・コンポーネントからコンシューマ・コンポーネントに値を渡すことができます。

この項には次のトピックが含まれます:

19.2.1 タスク・フロー間の結付け

WebCenter Portalには、シードWebCenter Portalツールやサービス・タスク・フローの他に、カスタム・タスク・フローを取り込むことができます。カスタム・タスク・フローをWebCenter Portalに取り込むには、最初にカスタム・タスク・フローをポートレット化し、ポートレット・ブリッジを介してWebCenter Portalで使用できるようにする必要があります。


注意:

ポートレット・ブリッジを介してコンテキスト・イベントの結付けを行うときに、プロデューサ・ポートレットからコンシューマへの結付きをまたいでnullのペイロードが伝播する場合や、ペイロードの伝播がない場合、このようなペイロードは空の文字列として配信されます。コンシューマ・ポートレットで空の文字列とnullを区別する必要がある場合は、プロデューサ・ポートレット・ペイロードでnullをエンコードできます。この場合、コンシューマ・ポートレットでは、nullのペイロードの検知のためにこのカスタムのエンコーディングを調べます。


カスタム・タスク・フローでは、イベントがサポートされ、パラメータの受渡し機能が提供される場合があります。イベントとパラメータの受渡しを使用すると、あるカスタム・タスク・フローから同じページの他のカスタム・タスク・フローに値を渡すことができます。たとえば、カスタム・タスク・フローを結び付け、ユーザーが特定のドキュメントを選択すると、そのページの他のカスタム・タスク・フローへのパラメータの受渡しを起動するイベントが発生するようにできます。他のカスタム・タスク・フローでは、パラメータが渡されると、選択したドキュメントに関連するコンテンツが再生成されます。

カスタム・タスク・フローがポートレット化すると、ポートレット化したタスク・フローにより呼び出されたポートレット・イベントやパブリック・レンダラ・パラメータはすべて、これらのイベントやパラメータのサポートを宣言している他のポートレット化したタスク・フローに自動的に配信されます。ページ・エディタの「コンポーネント・プロパティ」ダイアログを使用して、ポートレット化したカスタム・タスク・フローを手動で結び付けることもできます。構成するイベントおよびパラメータは、開発者がカスタム・タスク・フローに組み込んだ機能によって異なります。この項に示す手順では、この手動のマッピングの実行方法について説明します。

カスタム・タスク・フローの作成とポートレット化、およびポートレット・ブリッジの使用については、『Oracle Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発』を参照してください。WebCenter Portalでのカスタム・タスク・フローおよび他のカスタム・コンポーネントの使用については、Oracle Fusion Middleware Oracle WebCenter Portalの管理を参照してください。

手動でタスク・フロー間の結付けを行うには、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそのページを開きます(第12.4.3項「ページ・エディタ(コンポーザ)でのページのオープン」を参照)。

  2. ビュー・スイッチャをクリックしてWebに設定し、「デザイン」タブをクリックして「デザイン」ビューにページを表示します。

  3. プロデューサ・タスク・フローによって提供されるペイロードを使用するタスク・フロー上で、「編集」アイコンをクリックします。

  4. 「コンポーネント・プロパティ」ダイアログで、「イベント」タブをクリックして前面に表示し、「イベント」ペインから、プロデューサ・タスク・フローと関連付けられたイベントを選択します。

    「イベント」ペインには、ページ上のすべてのコンポーネントで発生する可能性があるすべてのイベントが表示されます。アスタリスク(*)が付いているイベントは、アクションで処理中であることを示しています。

  5. 「アクション」ペインで、イベントの発生時に実行するアクションを選択します。

    「アクション」ペインには、選択したプロデューサ・タスク・フローでサポートされているコンシューマ・タスク・フローに関連付けられているすべてのイベント・ハンドラが表示されます。「イベント」ペインで選択されているイベントに対して実行可能なアクションのみが表示されます。アスタリスク(*)が付いているアクションは、イベントを処理中であることを示しています。

  6. 「アクションの有効化」を選択し、選択したイベントとアクションを有効化します。

    選択したイベントおよびアクションの横にアスタリスク(*)が表示されます。チェック・ボックスの下に値のオプションが表示されます。

  7. 表示された値のオプションから、イベントが発生するたびにプロデューサ・タスク・フローからコンシューマ・タスク・フローにペイロードを配信するために使用する値のタイプを選択します。

    次から選択します:

    • 定数: 「定数」を選択し、コンシューマ・タスク・フローに渡す定数またはEL式の値を入力します。

    • EventData: プロデューサ・タスク・フローで指定されているすべてのペイロードを配信する変数${payLoad}を渡すことを選択します。


      注意:

      ${payLoad}の値は、タスク・フローの作成時に指定されます。


  8. 「OK」をクリックします。

  9. 「保存」をクリックして変更を保存します。

  10. イベントを起動して結付けをテストします。

19.2.2 ポートレット間の結付け

ポートレットがページに追加されると、ページ上に生成されるパブリック・レンダラ・パラメータとポートレット・イベントをリスニングして適宜応答するように、自動的に構成されます。したがって、多くの場合、プロデューサ側のパブリック・レンダラ・パラメータまたは公開中のイベントの名前が、コンシューマ側のパブリック・レンダラ・パラメータまたは処理中のイベントの名前と合致するかぎり、あるいは、パラメータまたはイベントを関連付けるために適切な別名が作成されている場合、ポートレットは自動的に結付けられます。

ポートレット同士が連携するように明示的に設計されていない場合は、次の手順の説明に従ってポートレットを手動で結付けることができます。


注意:

WebCenter Portalでパラメータとイベントの自動リスニングを無効にすることはできません。特定のポートレットに対してこの機能を無効にする場合は、次のようにする必要があります。

  1. そのポートレットを使用するポータルをエクスポートします。

  2. JDeveloperで、そのポートレットを含むページのページ定義を開きます。

  3. ポートレット・バインディングを編集して、次のようにlistenForAutoDeliveredPortletEvents属性およびlistenForAutoDeliveredParameterChanges属性をfalseに設定します。

    <portlet id="p2_1"
             ...
             listenForAutoDeliveredPortletEvents="false"
             listenForAutoDeliveredParameterChanges="false"
             ...
    />
    
  4. WebCenter Portalにそのポータルをインポートしなおします。


ポートレット間の結付けを手動で行うには、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそのページを開きます(第12.4.3項「ページ・エディタ(コンポーザ)でのページのオープン」を参照)。

  2. ビュー・スイッチャをクリックしてWebに設定し、「デザイン」タブをクリックして「デザイン」ビューにページを表示します。

  3. プロデューサ・ポートレットによって提供されるペイロードを使用するポートレット上で、「編集」アイコンをクリックします。

  4. 「コンポーネント・プロパティ」ダイアログで、「イベント」タブをクリックして前面に表示し、プロデューサ・ポートレットと関連付けられたイベントを選択します。

    「イベント」ペインには、ページ上のすべてのコンポーネントで発生する可能性があるすべてのイベントが表示されます。アスタリスク(*)が付いているイベントは、アクションで処理中であることを示しています。

  5. 「アクション」ペインで、イベントの発生時に実行するアクションを選択します。

    「アクション」ペインには、選択したプロデューサ・ポートレットでサポートされているコンシューマ・ポートレットに関連付けられているすべてのイベント・ハンドラが表示されます。「イベント」ペインで選択されているイベントに対して実行可能なアクションのみが表示されます。アスタリスク(*)が付いているアクションは、イベントを処理中であることを示しています。

  6. 「アクションの有効化」を選択し、選択したイベントとアクションを有効化します。

    選択したイベントおよびアクションの横にアスタリスク(*)が表示されます。

  7. 「イベント」タブの下部に現在表示されているポートレット・パラメータに値を入力します。

    「定数」を選択し、複合データ値を入力します。例:

    ${payLoad.ora_wsrp_navigparam_Parameter1}
    

    注意:

    パラメータの名前および値は、ポートレットの作成時に指定されました。


  8. 「OK」をクリックします。

  9. 「保存」をクリックして変更を保存します。

  10. イベントを起動して結付けをテストします。

19.2.3 タスク・フローへのポートレットの結付け

このシナリオでは、ポートレットがイベント・ペイロードを提供するプロデューサで、タスク・フローがそのペイロードのコンシューマです。

ポートレットをタスク・フローに結び付けるには、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそのページを開きます(第12.4.3項「ページ・エディタ(コンポーザ)でのページのオープン」を参照)。

  2. ビュー・スイッチャをクリックしてWebに設定し、「デザイン」タブをクリックして「デザイン」ビューにページを表示します。

  3. プロデューサ・ポートレットによって提供されるペイロードを使用するタスク・フロー上で、「編集」アイコンをクリックします。

  4. 「コンポーネント・プロパティ」ダイアログで、「イベント」タブをクリックして前面に表示し、「イベント」ペインから、プロデューサ・ポートレットと関連付けられたイベントを選択します。

    「イベント」ペインには、ページ上のすべてのコンポーネントで発生する可能性があるすべてのイベントが表示されます。アスタリスク(*)が付いているイベントは、アクションで処理中であることを示しています。

  5. 「アクション」ペインで、イベントの発生時に実行するアクションを選択します。

    「アクション」ペインには、選択したプロデューサ・ポートレットでサポートされているコンシューマ・タスク・フローに関連付けられているすべてのイベント・ハンドラが表示されます。「イベント」ペインで選択されているイベントに対して実行可能なアクションのみが表示されます。アスタリスク(*)が付いているアクションは、イベントを処理中であることを示しています。

  6. 「アクションの有効化」を選択し、選択したイベントとアクションを有効化します。

    選択したイベントおよびアクションの横にアスタリスク(*)が表示されます。チェック・ボックスの下に値のオプションが表示されます。

  7. 「定数」を選択し、プロデューサ・ポートレットに関連付けられているパラメータに複合データ値を入力します。

    例:

    ${payLoad.ora_wsrp_navigparam_Parameter1}
    
  8. 「OK」をクリックします。

  9. 「保存」をクリックして変更を保存します。

  10. イベントを起動して結付けをテストします。

19.2.4 ポートレットへのタスク・フローの結付け

このシナリオでは、タスク・フローがイベント・ペイロードを提供するプロデューサで、ポートレットがそのペイロードのコンシューマです。

タスク・フローをポートレットに結び付けるには、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそのページを開きます(第12.4.3項「ページ・エディタ(コンポーザ)でのページのオープン」を参照)。

  2. ビュー・スイッチャをクリックしてWebに設定し、「デザイン」タブをクリックして「デザイン」ビューにページを表示します。

  3. プロデューサ・タスク・フローによって提供されるペイロードを使用するポートレット上で、「編集」アイコンをクリックします。

  4. 「コンポーネント・プロパティ」ダイアログで、「イベント」タブをクリックして前面に表示し、「イベント」ペインから、プロデューサ・タスク・フローと関連付けられたイベントを選択します。

    「イベント」ペインには、ページ上のすべてのコンポーネントで発生する可能性があるすべてのイベントが表示されます。アスタリスク(*)が付いているイベントは、アクションで処理中であることを示しています。

  5. 「アクション」ペインで、イベントの発生時に実行するアクションを選択します。

    「アクション」ペインには、選択したプロデューサ・タスク・フローでサポートされているコンシューマ・ポートレットに関連付けられているすべてのイベント・ハンドラが表示されます。「イベント」ペインで選択されているイベントに対して実行可能なアクションのみが表示されます。アスタリスク(*)が付いているアクションは、イベントを処理中であることを示しています。

  6. 「アクションの有効化」を選択し、選択したイベントとアクションを有効化します。

    選択したイベントおよびアクションの横にアスタリスク(*)が表示されます。

  7. 「イベント」タブの下部に現在表示されているポートレット・パラメータに値を入力します。

    「定数」を選択し、複合データ値を入力します。例:

    ${payLoad.ora_wsrp_navigparam_Parameter1}
    

    注意:

    パラメータの名前および値は、ポートレットの作成時に指定されました。


  8. 「OK」をクリックします。

  9. 「保存」をクリックして変更を保存します。

  10. イベントを起動して結付けをテストします。

19.2.5 タスク・フローへのADFコンポーネントの結付け

このシナリオでは、ADFコンポーネントがペイロードのプロデューサで、タスク・フローがそのペイロードのコンシューマです。

ADFコンポーネントをタスク・フローに結び付けるには、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそのページを開きます(第12.4.3項「ページ・エディタ(コンポーザ)でのページのオープン」を参照)。

  2. ビュー・スイッチャをクリックしてWebに設定し、「デザイン」タブをクリックして「デザイン」ビューにページを表示します。

  3. プロデューサADFコンポーネントによって提供されるペイロードを使用するタスク・フロー上で、「編集」アイコンをクリックします。

  4. 「コンポーネント・プロパティ」ダイアログで、「イベント」タブをクリックして前面に表示し、「イベント」ペインから、プロデューサADFコンポーネントと関連付けられたイベントを選択します。

    「イベント」ペインには、ページ上のすべてのコンポーネントで発生する可能性があるすべてのイベントが表示されます。アスタリスク(*)が付いているイベントは、アクションで処理中であることを示しています。

  5. 「アクション」ペインで、イベントの発生時に実行するアクションを選択します。

    「アクション」ペインには、選択したプロデューサADFコンポーネントでサポートされているコンシューマ・タスク・フローに関連付けられているすべてのイベント・ハンドラが表示されます。「イベント」ペインで選択されているイベントに対して実行可能なアクションのみが表示されます。アスタリスク(*)が付いているアクションは、イベントを処理中であることを示しています。

  6. 「アクションの有効化」を選択し、選択したイベントとアクションを有効化します。

    選択したイベントおよびアクションの横にアスタリスク(*)が表示されます。チェック・ボックスの下に値のオプションが表示されます。

  7. イベントが発生するたびにプロデューサADFコンポーネントからコンシューマ・タスク・フローにペイロードを配信するために使用する値のタイプを選択します。

    次から選択します:

    • 定数: 「定数」を選択し、コンシューマ・タスク・フローに渡す定数またはEL式の値を入力します。

    • EventData: プロデューサADFコンポーネントで指定されているすべてのペイロードを配信する変数${payLoad}を渡すことを選択します。


      注意:

      ${payLoad}の値は、ADFコンポーネントの作成時に指定されました。


  8. 「OK」をクリックします。

  9. 「保存」をクリックして変更を保存します。

  10. イベントを起動して結付けをテストします。

19.3 コンポーネントとページ・パラメータの結付け

ページ・パラメータとページ変数を使用する場合、コンポーネントと、そのコンポーネントが含まれるページとの通信が可能になります。

たとえば、株価ティッカーおよび株式ニュースのコンポーネントを含むページについて考えてみます。ティッカーおよびニュースの両コンポーネントに同じパラメータ値を使用して、同じ会社の情報が表示されるようにします。ページ・パラメータとページ変数は、これを設定するための簡単なメカニズムの一環になります。

この項では、次に示すように、ページ・パラメータを作成および使用する方法について説明します。

19.3.1 ページ・パラメータの作成

ページ・エディタの「パラメータ」タブを使用して、ページ・パラメータを作成します。

新しいページ・パラメータを作成するには、第13.11項「ページ・パラメータの追加または変更」を参照してください。

19.3.2 ページ・パラメータの使用

コンポーネント同士の結付けに加え、コンポーネントをページ・パラメータに結び付けることができます。ページ・パラメータは、タスク・フロー、ポートレットおよびADFコンポーネントなどのページ・コンポーネントに値を渡すために使用する、ユーザーが作成する名前/値のペアです。

ページ・パラメータを作成し、それらを使用するようにタスク・フローとポートレットを構成できます。この項では、タスク・フローをページ・パラメータに結付ける方法について説明します。


注意:

この項で説明する手順を実行する前に、ページ・パラメータを作成し、そのパラメータに値を指定する必要があります。詳細は、第19.3.1項「ページ・パラメータの作成」を参照してください。


ページ・パラメータ(ページ・パラメータへのタスク・フローの結付け)を使用するには、次の手順を実行します。

  1. 関連ページに移動して、ページ・エディタでそのページを開きます(第12.4.3項「ページ・エディタ(コンポーザ)でのページのオープン」を参照)。

  2. ビュー・スイッチャをクリックしてWebに設定し、「デザイン」タブをクリックして「デザイン」ビューにページを表示します。

  3. ページ・パラメータに結付けるタスク・フロー上の「編集」アイコンをクリックします。

  4. 「コンポーネント・プロパティ」ダイアログの「パラメータ」タブで、パラメータ値を取るプロパティの横にある式エディタのアイコンアイコンをクリックし、「式ビルダー」を選択して式エディタを開きます。

    図19-3 式エディタ

    図19-3の説明が続きます
    「図19-3 式エディタ」の説明

  5. 「値の選択」を選択します。

  6. 「値の選択」の下で、第一のリストから「ページ・パラメータ」を選択し、第二のリストから関連するページ・パラメータの名前を選択します。

  7. 「OK」をクリックして式エディタを終了します。

  8. 「OK」をクリックし、変更を保存して「コンポーネント・プロパティ」ダイアログを終了します。

    タスク・フローがリフレッシュされ、ページ・パラメータを介して渡された値の結果が表示されます。

  9. 「保存」をクリックして変更を保存します。

19.4 ページURLを介したパラメータ値の受渡し

式言語(EL)式を、他のタイプの値のかわりにコンポーネント・パラメータに入力できます。このオプションでは、さらに動的な応答を得ることができます。たとえば、ページでは、ページ上の1つのコンポーネントに基づいて、ページ・パラメータを設定できます。この場合、この値の変更時に、ページ上の他のコンポーネントをリフレッシュできます。パラメータ値をページURLにより渡すことで、この機能を一段階向上させることができます。

この項では、他のパラメータ受け渡し状況のモデルとして使用できる、1つのシナリオを示します。

パラメータ値をページURLを介して渡すには、次の手順を実行します。

  1. ページURLを介して値を渡すコンポーネントを含むページに移動します。

  2. 関連するコンポーネントのプロパティを編集します。

  3. 値を渡すパラメータまたは表示オプションに対してELエディタを開きます。

  4. 「値または式の入力」の下で、#{param.val}を入力します。

  5. 変更を保存します。

  6. パラメータに値を渡すには、次の式をページURLに追加します。

    ?val=value
    

    ここで、valueは渡す値を表します。たとえば、truemediumまたはDefaultです。