JDeveloper 10g 初版未內建完整 JSF 支援,但可透過手動設定高效開發 JSF 1.0 應用。本文涵蓋函式庫安裝、專案設定、元件面板配置、簡單應用建立與範例 WAR 匯入。
D:\jsf),含 lib、tlddocs 等子目錄。Tools → Manage Libraries → Libraries → System Libraries → New,命名 JSF,Class Path 加入 D:\jsf\lib 下所有 JAR:jsf-api.jar, jsf-impl.jar, commons-*.jar (logging, collections, beanutils, digester, logging 等)。Tools → Manage Libraries → JSP Tag Libraries → NewD:\jsf\lib\jsf_core.tld,Library JSF,URI https://java.sun.com/jsf/core,Prefix f。D:\jsf\lib\html_basic.tld,Library JSF,URI https://java.sun.com/jsf/html,Prefix h。Execute Tags in JSP Visual Editor,元件以圖示顯示,較輕量。JSF Core、JSF HTML。File → New → General → Application Workspace,名稱 jsf_app,Template 選 No Template [All Technologies]。File → New → Web Tier → JSP Page,命名 hellojsf.jsp,自動產生 WEB-INF/web.xml。web.xml,在 </servlet> 後加入:<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
亦可使用 *.faces 等對應。
faces-config.xml (File → New → General → Simple File):<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"https://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
</faces-config>
hellojsf.jsp 視覺編輯器,切換至 JSF Core Palette,拖拉 view 標籤至頁面(所有 JSF 頁面必須)。outputText 拖入 view 內(黑框表示包含關係)。outputText 的 value = hello JSF!。Save All,啟動內建 OC4J,瀏覽器輸入:https://host:8988/YourContextRoot/faces/hellojsf.jsp/faces/ 對應 Faces Servlet 映射。**File → New → Project → Create Project from War File,專案名 mycardemo。D:\jsf\samples\jsf-cardemo.war,Finish 解壓。storeFront.jsp 觀察圖示模式元件。Tools → Manage Libraries → JSP Tag Libraries,對 f 與 h 兩標籤庫勾選 Execute JSP Tags in Visual Editor,按重新整理鈕,頁面即顯示渲染後元件。web.xml 中的 <security-constraint> 區塊(導致 OC4J 執行困難)。WEB-INF/lib 下隨附的 jstl.jar, standard.jar (J2EE 1.4 版),改用 JDeveloper 內建版本。Save All、Rebuild,執行 index.jsp (導向 chooseLocale.faces) 驗證。雖 JDeveloper 10g 後續版本將提供完整 JSF 整合,但目前版本透過手動設定函式庫、標籤庫、部署描述檔即可高效開發。掌握 WAR 匯入技巧可快速研究官方範例應用。