您必須先完成,才能開始這個練習。

應用程式會列出目錄中的所有現行員工記錄。 這些記錄顯示在含有姓氏、名字、電子郵件和員工 ID 等可排序直欄的 JTable (employeesTable) 中。如果要取得表格記錄,您必須將 employeesTable 連結至範例 Web 服務資料來源所傳回的資料物件

在這個練習中,您必須完成下兩個步驟:

  1. 利用所提供的 WSDL 檔,在專案中產生 Web 服務 Java Proxy
  2. 將員工表連結至 Web 服務傳回的列資料物件

資料物件、資料來源和連結程式的概觀

為了取得要用的 employeesTable 本端資料物件,您將利用視覺化編輯器來新增資料來源至應用程式。 資料來源會連接至 Web 服務 Proxy 範例,且會探索您的應用程式能夠使用的服務方法。 之後,您將選擇從資料來源提供的 getLightEmployeeRecord 服務方法。 最後,您會將應用程式中的 employeesTable 連結至在列資料物件 (lightEmployeeRecordRows) 中傳回的欄位。

您可以利用 Java 視覺化編輯器的內建連結程式類別,又快又容易地建立所有這些資料來源和資料物件。 當您將視覺化元件連結至資料 Factory 時,視覺化編輯器會提供一組產生在專案中的通用介面和類別。 依預設,連結程式類別會產生在名稱為 jve.generated 的套件中。 視覺化編輯器會將連結程式類別提供成一項通用實作,供您進一步自訂和加強來配合您的應用程式需求。 這個指導教學示範預設連結程式類別基本又簡單的用法所擁有的功能和彈性。

重要事項:在開始這個練習之前,強烈建議您先閱讀下列說明主題。這些主題可協助您進一步瞭解由 Java 視覺化編輯器所提供的資料物件、資料來源和連結程式所含的功能和邏輯:

在這個指導教學中,您將在應用程式中使用 Web 服務資料來源、若干類型的資料物件,以及若干類型的連結程式。 當您將這些物件的實例新增到應用程式中,視覺化編輯器會將必要的類別新增到專案的 jve.generated 套件中,您可以在其中延伸、取代或改寫資料連結邏輯。Java 視覺化編輯器提供了連結物件的視覺化支援,它會在設計視圖的開放式區域中,顯示應用程式所用的資料物件、資料來源和連結程式。視覺化編輯器會在視覺化元件和資料物件及資料來源之間繪製線條來顯示任何所選物件的現行連結。

下圖是視覺化元件、連結程式、資料物件和資料來源如何互動的簡單概觀。 您在這個指導教學中建置的應用程式說明稍微複雜且較有創意的連結程式用法。 這個圖不一定能完全如實反映您在建置的應用程式範例中的連結程式、資料物件和資料來源。

圖 1. 這個圖說明視覺化元件、連結程式、資料物件和資料來源之間的關係範例
這個圖解說明視覺化元件、連結程式、資料物件和資料來源之間的關係

在圖 1 中,每個視覺化元件都有它自己的連結程式會將它關聯於資料物件,如果是按鈕,則是關聯於資料來源。 文字欄位的連結程式會將該欄位連結到資料物件的特定內容。這個圖解中的列資料物件和資料物件,都會直接呼叫資料來源的服務來取得其資料。文字欄位的資料物件會利用表格中所選的列中的鍵值來作為呼叫 Service2 的引數,這個呼叫會傳回完整的記錄,其中可能包括表格中所選的列的詳細資訊。之後,這個完整記錄又用來作為按鈕呼叫 Service3 時,按鈕動作連結程式的引數,Service3 可能是更新欄位中所輸入之值的方法。如果需要資料物件、資料連結程式和資料來源的詳細說明,請遵循先前所提供的鏈結。

利用所提供的 WSDL 檔,在專案中產生 Web 服務 Java Proxy

如果要使用在伺服器中執行的 Web 服務,您的 Java 應用程式需要一個與它互動的 Java Proxy 或用戶端。 您可以利用「Web 服務用戶端」精靈和 WSDL 檔,在 Java 專案中產生一個 Java Proxy。 您的 MyDirectory 專案包括將用來產生這個 Proxy 的 EmployeeDirectory.wsdl 檔。 產生 Java Proxy 之後,您可以建立代表 Web 服務的資料來源並開始連結視覺化元件。

重要事項:這個練習中所用的 WSDL 檔假設您將 Web 服務部署在 WebSphere Application Server 的本端安裝架構中,且使用 localhost 的預設埠 (http://localhost:9080)。 如果您以不同的方式來部署 EAR 檔,您必須據此編輯 WSDL 檔之後,才能繼續作業。

如果要在專案中產生 Web 服務 Java Proxy,請執行下列動作:

  1. 在主功能表中,按一下檔案 > 新建 > 其他 ,再選取 Web 服務 > Web 服務用戶端精靈。 如果沒有出現「Web 服務」種類,請選取顯示所有精靈
  2. 在「Web 服務用戶端」精靈的用戶端 Proxy 類型欄位中,選取 Java Proxy,再按下一步
  3. 在「選取 Web 服務」頁面中,按一下瀏覽來尋找 WSDL 檔。
  4. 在資源瀏覽器中,展開 MyDirectory 專案,選取 EmployeeDirectory.wsdl。 按一下確定,再按一下「Web 服務用戶端」精靈中的下一步

    「Web 服務用戶端」精靈

  5. 在精靈的「用戶端環境配置」頁面中,按一下編輯來修改用戶端配置,確定 Java 專案中加入了正確的執行時期 JAR 檔或路徑。 請選取下列值,再按一下確定
  6. 在精靈「用戶端環境配置」頁面的用戶端類型欄位中,選取 Java
  7. 用戶端專案欄位中,選取 MyDirectory。 這是您的 Java 專案,「Web 服務用戶端」精靈將在這裡輸出 Web 服務的 Java Proxy。

    「Web 服務用戶端」精靈

  8. 下一步
  9. 按一下完成。這時「Web 服務用戶端」精靈會產生 Java Proxy,並將它新增到專案的新套件 (directory.service) 中。

將 employeesTable 連結至 Web 服務傳回的列資料物件:

顯示說明文件

由於 employeesTable 是您在這個應用程式中連結的第一個視覺化元件,因此,您必須建立一個資料來源來指向剛新增到專案中的 Web 服務 Proxy 範例。 當您在稍後的練習中連結其他視覺化元件時,您會重複使用這個資料來源。 在這個步驟中,您將新增 Web 服務資料來源和 lightEmployeeRecordRows 資料物件。

如果要連結員工表,請執行下列動作:

  1. 在 Java Bean 視圖或設計視圖中,選取 employeesTable。(請確定您沒有選取它的 JScrollPane 母項)。 這時設計區域 employeesTable 頂端會出現一個標示為連結的小標籤。

    圖形式畫布上 JTable 的「連結」標籤。

  2. 按一下 employeesTable 的連結標籤。另外,您也可以用滑鼠右鍵按一下 employeesTable,選取連結內容
  3. 由於應用程式中沒有資料物件,因此,您必須新增一個新的資料物件。 請按一下新建資料來源資料物件
  4. 來源類型欄位中,選取 Web 服務
  5. 由於您還沒有新增任何 Web 服務資料來源到應用程式中,因此,您必須現在新增它。 請按一下資料來源欄位旁的 ... 按鈕來開啟「新增 Web 服務資料來源」對話框,它會在專案中尋找可用的 Web 服務用戶端或 Proxy。
  6. 選取 EmployeeDirectory Web 服務,再按一下完成。 這時會在 DirectoryApp.java 檔中新增新的資料來源。

    「新增 Web 服務資料來源」對話框

  7. 在「新建資料來源資料物件」對話框的來源服務欄位中選取 getLightEmployeeRecords(),接受新資料物件的預設名稱:lightEmployeeRecordRows。 這個服務方法不需要任何參數。 按一下確定。 這時會建立新的資料物件,且會顯示在設計視圖的開放式區域中。

    「新建資料來源資料物件」對話框

    要訣:由於您正在連結表格,因此,「新建資料來源資料物件」對話框只會顯示傳回列資料物件的服務。 在這個情況下,getLightEmployeeRecords() 方法是唯一傳回物件陣列的可用服務。

  8. 在「表格資料連結」對話框中,選取 lightEmployeeRecordRows 資料物件。
  9. 現在,您必須選取 employeesTable 中所要顯示的 lightEmployeeRecordRows 資料物件的內容:

    「表格資料連結」對話框

    1. 按一下按鈕來新增所有物件內容至表格直欄清單中。
    2. 利用上移和下移鍵來依照下列次序安排直欄,由上到下分別是:lastName、firstName、email、employeeID
    3. 重新命名直欄標題:姓氏名字電子郵件員工 ID

      要訣:連結好表格之後,您一律可以隨時返回連結內容並重新命名和重新排列直欄。

    4. 按一下確定

    這時會利用 JRowTableBinder,將 employeesTable 連結至 lightEmployeeRecordRows 資料物件。 如果您在開放式區域中按一下 lightEmployeeRecordRows 資料物件,視覺化編輯器會畫一條從資料物件至表格的線。 在這條線上,JRowTableBinder 是由表格連結程式的圖示表格連結程式圖示來表示。另一條線表示資料物件使用 webServiceDataSource 來作為資料來源。

    JTable 的連結程式線條視圖

請檢查您的專案和應用程式的變更。 在這個練習期間,您新增了 Web 服務資料來源、列資料物件,以及將 employeesTable 連結至列資料物件的連結程式。 請注意和檢查您的專案中所建立用來保留 Java 視覺化編輯器所產生的所有連結程式類別的新套件 (jve.generated)。 另外,也請注意保留 Web 服務之 Java Proxy 的新套件 (directory.service)。

MyDirectory 專案中的套件

現在,當您執行 應用程式時,Web 服務會在員工表中移入現有的員工記錄。

現在您已準備好開始進行下一個練習 -

使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.