top
Loading...
如何在JDeveloper10g中使用JSF
簡介

JavaServer Faces 是一種新的 Java 技術,它提供了一種使用 Java 構建基于瘦客戶端/HTML 的應用程序的標準方法。 盡管在 10g 后續版本中才在 JDeveloper 10g 中提供對 JSF 開發的完整和增強的支持,但仍然可以在 JDeveloper 10g 中進行高效的 JSF 1.0 開發。 本文檔介紹了如何在 JDeveloper 10g 中安裝和使用 JavaServer Faces 1.0。

如何將 JSF 庫安裝到 JDeveloper 中 創建一個“JSF”庫并注冊 JSF JSP 標記庫
  1. 從 java.sun.com 下載 JSF 1.0 引用實現。 將此文件解壓縮到一個單獨的目錄,如 d:jsf。 此目錄將包含以下子目錄: docs、javadocs、lib、samples 和 tlddocs。 lib 目錄將包含 JDeveloper 使用 JSF 所必需的 jar 文件和 tld(標記庫描述符)文件。

  2. 創建一個 JDeveloper“JSF”庫以在 JDeveloper 中管理必需的 JSF jar 文件。

    • 從主菜單中選擇 Tools-> Manage Libraries。
    • 選擇“Libraries”選項卡。
    • 選擇“System Libraries”節點并單擊“New”。
    • 將該庫命名為“JSF”。
    • 對于“Class Path:”單擊“Edit...”并添加位于 JSF 包的 lib 目錄(“d:jsflib”)下的所有 jar 文件: jsf-api.jarjsf-impl.jarcommons*.jar



  3. 現在,在 JDeveloper 中注冊 JSF (JSP) 標記庫并將其添加到 Component Palette。

    • 同樣,從菜單中選擇 Tools-> Manage Libraries。
    • 這次選擇“JSP Tag Libraries”選項卡并單擊“New”。
    • 通過指定以下項添加“JSF Core”標記庫:

      • TLD 文件: D:jsflibjsf_core.tld(使用 Browse 按鈕找到 JSF 核心標記庫描述符: TLD。)
      • 庫: JSF(單擊 Browse 按鈕并選擇新的“JSF”庫。)

      • URI: http://java.sun.com/jsf/core(應自動填充)
      • 前綴:f
    • 保留“Execute Tags in JSP Visual Editor”復選框的非選中狀態,然后單擊“OK”。

    • 在詢問是否將標記庫添加到 Component Palette 中的對話框中,請回答“Yes”。
    • 將 Palette Page 命名為:“JSF Core”。 (可以編輯此組合框。)


  4. 重復此過程以通過以下操作添加第二個“JSF HTML”標記庫:
    • 選擇 Tools-> Manage Libraries,選擇“JSP Tag Libraries”選項卡并單擊“New”。
      • TLD 文件: D:jsflibhtml_basic.tld
      • 庫: JSF (單擊 browse 并選擇與前面相同的 JSF 庫。)
      • URI: http://java.sun.com/jsf/html
      • 前綴:h
    • 保留“Execute Tags in JSP Visual Editor”復選框的非選中狀態,然后單擊“OK”。
    • 在詢問是否將標記庫添加到 Component Palette 中的對話框中,請回答“Yes”,這次將 Palette Page 名稱指定為:“JSF HTML”。

      注意: 通過保留“Execute Tags...”復選框的非選中狀態,將關閉 JSF UI 組件的可視化。 這意味著 JSF UI 組件在 JSP 可視化編輯器中將只呈現為圖標。 通常從 JSF UI 組件的非呈現(圖標)狀態開始使用會更容易一些,稍后再打開所有 JSF 標記庫的可視化以獲得更好的應用程序視圖。

  5. 至此,您就搞定了! 您剛剛已經配置了 JDeveloper 10g 來使用 JSF。 下一步是配置一個項目來使用 JSF。

如何配置項目來使用 JSF

要開始構建 JSF 應用程序,您將需要配置項目的 web.xml 并包含一個啟動 faces-config.xml 文件。
  1. 開始時,您將需要一個包含空項目的 Application Workspace:

    • 選擇 File->New...->General->Application Workspace。
    • 將工作區命名為“jsf_app”并接受 Directory Name: 和 Application Package Prefix: 的默認值。
    • 對于 Application Template:,選擇“No Template [All Technologies]”。
    • 單擊 OK 繼續。
    • 這將生成一個新的 Application Workspace 和一個空的項目 Project(名稱為“Project”)。 可以將它用于您的 JSF 應用程序。 (可以使用 File->Rename... 將它重新命名為“jsftest”。)

  2. 在該項目中,創建一個新的 JSP。

    • File->New...->Web-Tier->JavaServer Pages->JSP Page。
    • 將它命名為“hellojsf.jsp”。 這還將在項目的 WEB-INF/ 目錄中生成一個 web.xml 文件。

  3. 在 Application Navigator 中,找到 web.xml 文件并雙擊來編輯它。



  4. 在 web.xml 中的 .. 標記之后添加以下內容:

    Faces Servlet
    javax.faces.webapp.FacesServlet
    1

    Faces Servlet
    /faces/*

    注意: 您實際上可以使用任何 Faces servlet 映射。例如: *.faces

  5. 現在,在與 web.xml 相同的位置創建一個 faces-config.xml 文件。
  6. 創建一個新的簡單文件:
    • File->New->General->Simple File...
  7. 將該文件命名為 faces-config.xml,并使用 Browse... 按鈕指定它在項目的 WEB-INF 子目錄中的位置。



  8. 將以下內容復制并粘貼到新的 faces-config.xml 文件中:

    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

  9. 就這樣! 您的項目已配置為使用 JSF。 您可能希望將此項目的副本保存在文件系統中,以便將來可以使用它。
從頭創建一個簡單的 JSF 應用程序

現在,您已經為 JSF 配置了項目,接下來可以通過創建一個簡單的測試 JSF 應用程序來測試您的配置。
  1. 在 JSP 可視化編輯器中打開新的 JSP“hellojsf.jsp”(如果尚未打開它)。
  2. 將 Component Palette 切換到“JSF Core”頁面。



  3. 將“view”標記拖放到頁面上。 所有 JSF 頁面都需要“view”標記。
  4. 現在將 Component Palette 切換到“JSF HTML”。
  5. 將一個“outputText”標記拖放到現有“view”標記的內部。黑色的邊界表示包含關系。



  6. 在 Property Inspector 中,將 outputText 標記的 value 屬性設置為“hello JSF!”。



  7. 通過單擊主菜單上的“Save All”圖標 保存所有工作。

  8. 運行頁面,啟動嵌入式 OC4J。



  9. 重要事項: 這將不會立即起作用,原因是您將必須將“/faces”servlet 映射插入到瀏覽器的 url,以便使用 Faces servlet 發出請求。

    將如下所示 http://yourhost:8988/YourJ2EEContextRoot/faces/hellojsf.jsp 插入到瀏覽器的 url 窗口中。

  10. 當使用正確的 url 訪問頁面時,將看到一個顯示“hello JSF!”消息的頁面。



  11. 恭喜! 您剛剛已經在 JDeveloper 10g 中構建了第一個 JSF 應用程序!
從 WAR 文件中導入一個現有的 JSF 應用程序

在 JDeveloper 中開始進行 JSF 開發的另一個有幫助的練習是在 JDeveloper 10g 中打開 JSF 示例應用程序。 可以通過使用 JDeveloper 中的 (Create) Project from War File 功能輕松地執行此操作。

讓我們在 JDeveloper 10g 中打開 JSF Car Demo 應用程序,觀察如何直觀地編輯它,然后從 JDeveloper 中運行它。
  1. 調用“Create a new project from War file”向導。

    • File->New->Project->Create Project from War File。



  2. 在此向導的第 1 步中,將項目命名為“mycardemo”并接受默認目錄位置。

  3. 在第 2 步中,找到包含 CarDemo 示例的 War 文件 (jsf-cardemo.war)。 JSF 示例應用程序位于 /samples 子目錄中。 例如,“d:jsfsamples”。



  4. 單擊 Finish。 這將把 War 文件內容擴展到新的項目目錄中。您現在應在 Application Navigator 中看到您的新項目。
  5. 花些時間熟悉一下此應用程序中的各個文件。 您將在 WEB-INF 目錄中找到 faces-config.xml 以及其他文件。
  6. 在 JSP 可視化編輯器中打開 storeFront.jsp 頁面。



    觀察 JSF 標記如何以圖標形式呈現在可視化編輯中。

  7. 現在,在可視化編輯器中打開 Tag Execution 以獲得一個更直觀的頁面視圖。
    • 調用 Library Manager (Tools->Manage Libraries..->JSP Tag Libraries)
    • 找到 Faces“JSF Core”標記庫:“f”。
    • 選中“Execute JSP Tags in Visual Editor”復選框。
    • 單擊“OK”之前,找到其他 JSF 標記庫“h”,然后選中同一復選框:



    • 單擊“OK”繼續。
  8. 要查看在可視化編輯器中“呈現”的 JSF UI 組件,單擊刷新 按鈕。
  9. 您的頁面現在應顯示為:


在 JDeveloper 中運行 JSF Car Demo
  1. 要在 JDeveloper 10g 中運行 JSF Car Demo,我們首先必須解決兩個問題:
    • 此示例在 web.xml 中有一個額外的安全約束,這使運行它有點困難,因此我們將刪除它。
    • 此示例附帶了 J2EE 1.4 版本的 jstl.jarstandard.jar 文件,將導致 JDeveloper 的嵌入式 OC4J(用于 J2EE 1.3)出現編譯問題。 我們只需刪除包含的 jar 文件并使用 JDeveloper 的內置 jstl 和標準 jar 文件。
  2. 要刪除安全約束,編輯 WEB-INF/web.xml 并刪除整個 標記及其內容:
    ...
  3. 要刪除不需要的 1.4 版本的 jstl 和標準文件,只需打開一個文件瀏覽器(在 Windows 中為 Explorer)并從應用程序的 WEB-INF/lib 目錄中手動刪除它們。

  4. (可選)保存所有內容 并生成項目 。 由于 JDev 使用它自己的 jstl 和標準類,因此此項目現在可以編譯了。
  5. 現在就可以通過運行 index.jsp 頁面來從 JDeveloper 中運行此應用程序了。
    (index.jsp 前進到 Faces 映射的“url: chooseLocale.faces”)
總結

正如您所看到的,即使 10g 的后續版本將提供 JDeveloper 的完整和綜合的 JSF 支持(包括各種可視化和高效的 JSF 開發功能),但也可以在當前的 JDeveloper 10g 中非常高效的使用 JSF。 請留意更多有意義的提示以及有關如何將 JSF 用于 JDeveloper 10g 的技巧!
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗