プレゼンテーション・レイヤーを使用した JDBC メディエーター統合

JDBC Data Mediator Service (DMS) は、JavaServer Pages Standard Tag Library (JSTL) および JavaServer Faces (JSF) などのような Web アプリケーション・プレゼンテーション・レイヤー・テクノロジーとともに使用することができます。

以下の説明は、JavaServer Pages Standard Tag Library (JSTL) テクノロジーおよび JavaServer Faces (JSF) テクノロジーについて一般的に理解していることを前提にしています。特に JSF については、UIData コンポーネントおよび JSF 動的 Web アプリケーションの一般ファイル構造の知識が必要です。JSF および JSTL 両方の簡潔な概要については、『サービス・データ・オブジェクト』にあるトピックを参照してください。

JDBC DMS と JSTL は、JSTL アクセス・コードが DataObject 内の属性 およびリストへのアクセスに必要なコードと等価であるため、順調に共同作業を行います。 例えば、ルート Customer DataObject に関して、JSTL 式は以下のように なります。

${rootDO.CUSTOMER[index].CUSTNAME}

は、次の DataObject 用の Java™ コードと等価です。

rootDO.getList("CUSTOMER").get(index).get("CUSTNAME")

その理由は、JSTL 式言語内のドット表記が Java コード内の getter() メソッドと相関しており、またブラケット表記に よってリスト内の要素にアクセスすることが可能になるためです。

JDBC DMS および JSF は、JDBC DMS によって製作された DataGraph が 変換される必要なく JSF UIData コンポーネントを取り込むことができる ので、互いにうまく適合します。 UIData コンポーネントは dataTable タグを使用しますが、このタ グはその入力としてリストを入手し、テーブルを取り込みます。 dataTable に受け渡す必要のあるのは DataGraph のルート・リストのみな ので、DataGraph の使用で順調に作業できます。 dataTable 内で DataGraph を設計する最も通常の方法は、自身の列内の ルートから検索されたリストから DataObject の各属性を表示して、親 DataObject の行内に含まれる新規 dataTable 内の DataObject へ各追加関連を組み込むことです。 従来の ResultSet テーブルの代わりにこのメソッドを使用することによって、重複情報を除去し、親オブジェクトの子の分離をより簡単に表示できるようにします。 dataTable 内での Customer と Order のシナリオの設計方法の例を、トピック『例: JavaServer Faces および JDBC メディエーター dataTables の使用』で表示しています。

例: JavaServer Faces および JDBC メディエーター dataTables の使用

この例は、「Faces JSP」ページ内にあるコードを示しています。 アプリケーションにおける JavaServer Faces および JDBC メディエーター dataTables の使用法が示されています。

これには、カスタマーのあらゆる情報と注文が含まれた UIData コンポーネント dataTable タグが含まれています。Customer 属性にはそれぞれ独自の列があります。Customer Orders は、別個の列の各 Order 属性が含まれている別の dataTable に組み込まれています。 Orders の組み込み dataTable には、他の Customer 属性と同様に、 Customer の各行に独自の列があります。

<h:dataTable id="table1" value=">{pc_Customers.customer}" var=
"varcustomer" styleClass="dataTable">

  <h:column id="column1">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Customerid" id=
        "text1"></h:outputText>
    </f:facet>
    <h:outputText id="text2" value=">{varcustomer.CUSTOMERID}"
    styleClass="outputText">
     <f:convertNumber />
    </h:outputText>
    </h:column>

  <h:column id="column2">
    <f:facet name="header">
 <h:outputText styleClass="outputText" value="Custfirstname"
     id="text3"></h:outputText>
   </f:facet>
   <h:outputText id="text4" value=">{varcustomer.CUSTFIRSTNAME}"
     styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column3">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custlastname"
        id="text5"></h:outputText>
    </f:facet>
    <h:outputText id="text6" value=">{varcustomer.CUSTLASTNAME}"
      styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column4">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custstreetaddress"
        id="text7"></h:outputText>
    </f:facet>
    <h:outputText id="text8" value=">{varcustomer.CUSTSTREETADDRESS}"
      styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column5">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custcity" id="text9">
        </h:outputText>
    </f:facet>
    <h:outputText id="text10" value=">{varcustomer.CUSTCITY}"
       styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column6">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custstate" id=
         "text11"></h:outputText>
    </f:facet>
    <h:outputText id="text12" value=">{varcustomer.CUSTSTATE}"
      styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column7">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custzipcode"
         id="text13"></h:outputText>
    </f:facet>
    <h:outputText id="text14" value=">{varcustomer.CUSTZIPCODE}"
       styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column8">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custareacode"
         id="text15"></h:outputText>
    </f:facet>
    <h:outputText id="text16" value=">{varcustomer.CUSTAREACODE}"
       styleClass="outputText">
    <f:convertNumber />
    </h:outputText>
  </h:column>

  <h:column id="column9">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Custphonenumber"
         id="text17"></h:outputText>
    </f:facet>
    <h:outputText id="text18" value=">{varcustomer.CUSTPHONENUMBER}"
      styleClass="outputText">
    </h:outputText>
  </h:column>

  <h:column id="column10">
    <f:facet name="header">
      <h:outputText styleClass="outputText" value="Customers_orders"
         id="text19"></h:outputText>
    </f:facet>

    <h:dataTable id="table2" value=">{varcustomer.CUSTOMERS_ORDERS}"
      var="varCUSTOMERS_ORDERS" styleClass="dataTable">

     <h:column id="column11">
   <f:facet name="header">
     <h:outputText styleClass="outputText" value="Ordernumber"
        id="text20"></h:outputText>
   </f:facet>
   <h:outputText id="text21"
      value=">{varCUSTOMERS_ORDERS.ORDERNUMBER}"
      styleClass="outputText">
     <f:convertNumber />
   </h:outputText>
 </h:column>

 <h:column id="column12">
   <f:facet name="header">
     <h:outputText styleClass="outputText" value="Orderdate"
        id="text22"></h:outputText>
   </f:facet>
  <h:outputText id="text23" value=">{varCUSTOMERS_ORDERS.ORDERDATE}"
     styleClass="outputText">
     <f:convertDateTime />
   </h:outputText>
 </h:column>

 <h:column id="column13">
   <f:facet name="header">
     <h:outputText styleClass="outputText" value="Shipdate"
        id="text24"></h:outputText>
   </f:facet>
   <h:outputText id="text25"
     value=">{varCUSTOMERS_ORDERS.SHIPDATE}"
     styleClass="outputText">
     <f:convertDateTime />
   </h:outputText>
 </h:column>

 <h:column id="column14">
   <f:facet name="header">
     <h:outputText styleClass="outputText" value="Customerid"
       id="text26"></h:outputText>
   </f:facet>
   <h:outputText id="text27"
       value=">{varCUSTOMERS_ORDERS.CUSTOMERID}" styleClass="outputText">
     <f:convertNumber />
   </h:outputText>
 </h:column>

 <h:column id="column15">
   <f:facet name="header">
     <h:outputText styleClass="outputText" value="Employeeid"
        id="text28"></h:outputText>
   </f:facet>
   <h:outputText id="text29"
       value=">{varCUSTOMERS_ORDERS.EMPLOYEEID}" styleClass="outputText">
     <f:convertNumber />
   </h:outputText>
 </h:column>

    </h:dataTable>
  </h:column>
</h:dataTable>

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_sdoint
ファイル名:rdat_sdoint.html