JavaServer Faces 工具 - 版本注意事項


1.0 限制
   1.1 Faces 用戶端:含未連結的 Faces 用戶端元件的 Faces JSP 不能在伺服器中執行
   1.2 Faces 用戶端:如果含有 Faces 用戶端資料的 Faces JSP 檔是從含有空值整數、浮點數、Boolean 或字元資料類型的 WDO 建立的,它便無法在 WAS 5.1 中執行
   1.3 Faces 用戶端:插入「在目標元件中將所選物件設為根」事件處理常式之後,重新命名目標元件 ID
   1.4 在 Portlet 中,不支援檔案上載和下載元件
   1.5 Faces 用戶端:將列新增至伺服器中的資料格線會發生失敗,這個資料格線連結至資料圖中深度為兩個或兩個以上層次的關聯式記錄清單
   1.6 巢狀 dataTable 中的輸入欄位無法正確運作
2.0 已知的問題
   2.1 將資料放入從網頁範本中衍生的 Faces JSP 檔所發生的問題
   2.2 Faces 資源移轉不會更新 SDO 配置
   2.3 在 inputText 中,無法正確更新驗證頁面
   2.4 Faces 用戶端:在建立 EGL 的用戶端資料之後,編譯錯誤:「無法利用二進位名稱來參照巢狀類型」
   2.5 Faces 用戶端:利用相同模型名稱來共用各 Portlet 中的 WDO/SDO 頁面資料的 Faces 用戶端資料模型無法運作
   2.6 Faces 用戶端:Faces 用戶端控制事件在入口網站中無法正確運作,因為遺漏 viewId
   2.7 Faces 用戶端:繪圖時圓餅圖標籤和標題重疊
   2.8 Faces 用戶端:入口網站不會在樹狀視圖中顯示自訂開啟和關閉圖示
   2.9 Faces 用戶端:繪圖執行時期 - Y 軸刻度中的部分值重複
   2.10 Faces 用戶端:在 GraphDraw 中,可能會切斷 X 軸標籤字元
   2.11 Faces 用戶端:依程式的方式將項目新增至資料格線時,未將標頭/標底列新增至資料格線中
   2.12 Faces 用戶端:網路中的 Web 服務呼叫失敗
   2.13 Faces 用戶端:當建立用戶端資料時,「問題」視圖中會出現警告(未用匯入的類別警告)
   2.14 Faces 用戶端:「在 clientData 標示之前,無法除去 Faces 用戶端元件」錯誤訊息的暫行解決方法
   2.15 Faces 用戶端:將樹狀視圖放在程式碼中
   2.16 將影像檔放在「畫面 - 已加上標籤」元件中
   2.17 Faces 用戶端:在遵循移轉手冊中的步驟,來解決將目標重設為 WAS 6.0 時所產生的問題之後,可能會出現鏈結中斷的警告
   2.18 當使用內部瀏覽器時,無法編輯 Rich Text Editor
   2.19 遺失頁面狀態 - 不會送出表單
   2.20 Faces 用戶端:只用一個直欄連結至關聯式記錄清單的資料格線無法在伺服器中執行
   2.21 Faces 用戶端:在匯入 Faces Client 範例之後,問題視圖會顯示許多錯誤
   2.22 Faces 用戶端:線上說明主題「移轉含 Faces 用戶端元件的 JavaServer Faces 資源」可能會遺漏資訊
   2.23 在送出時,JavaServer Faces 頁面顯示為遺失內容

1.0 限制

1.1 Faces 用戶端:含未連結的 Faces 用戶端元件的 Faces JSP 不能在伺服器中執行

您不能在伺服器中執行含未連結的 Faces 用戶端元件的 Faces JSP 檔。 您必須將 Faces 用戶端元件連結至用戶端資料物件,才能在伺服器中執行。

1.2 Faces 用戶端:如果含有 Faces 用戶端資料的 Faces JSP 檔是從含有空值整數、浮點數、Boolean 或字元資料類型的 WDO 建立的,它便無法在 WAS 5.1 中執行

這個問題是內部 WDO 程式碼中的 NullPointerExceptions 所造成。 如果要暫時解決這個問題,請用預設值來取代資料庫中的空值,或將您的伺服器升級至 WAS 6.0。 如果升級的話,請務必遵循《移轉手冊》中的標題為「移轉含 Faces 用戶端元件的 JavaServer Faces 資源」的章節。

附註:含有從空白關聯式記錄建立的用戶端資料之 Faces JSP 也會因為相同原因而無法在 WAS 5.1 中執行。 這個問題沒有簡單的暫行解決方法。

1.3 Faces 用戶端:插入「在目標元件中將所選物件設為 root」事件處理常式之後,重新命名目標元件 ID

如果在建立好事件處理常式片段之後,重新命名「在目標元件中將所選物件設為 root」事件處理常式的目標元件,JavaScript 會不正確。如果要暫時解決這個問題,請刪除這個片段,再重新建立。

1.4 在 Portlet 中,不支援檔案上載和下載元件

Portlet 不支援實作檔案上載和下載功能的 Faces 元件。 這些 Faces 元件包括:

1.5 Faces 用戶端:將列新增至伺服器中的資料格線會發生失敗,這個資料格線連結至資料圖中深度為兩個或兩個以上層次的關聯式記錄清單

將列新增至在資料格線中,深度為兩個或兩個以上層次的關聯式記錄清單所連結的資料格線之後,當您送出 Faces JSP 檔時, 會出現 java.lang.IllegalArgumentException:'CUSTOMERS' 的 'CUSTOMERS_ORDERS' 特性不是一項包含。

這是 Faces 用戶端處理更新項目時的方法限制。 在 SDO 中,所有關係都包含 (containment=true) 在 "DatagraphRoot" 內,每個關係都會參照 (containment=false) 這個 root 所包含的其他關係。Faces 用戶端 DiffHandlers 一律會試圖將新物件新增至「母項」,而不是「儲存器」中。

這個問題的暫行解決方法是建立要更新的關聯式記錄清單,新列是第一層次的關係。 比方說,如果您要將列新增至 CUSTOMER 所擁有的 ORDERS 表格中,而不是建立 CUSTOMER -> ORDERS 關係,之後,再將列新增至 ORDERS 中,您將建立一份關聯式記錄清單 ORDERS,再將一列新增至 ORDERS 中。

1.6 巢狀 dataTable 中的輸入欄位無法正確運作

如果在直欄含有輸入元件的 dataTable 中,又有巢狀 dataTable(比方說,列的內容是集合),將無法正確更新資料模型。

2.0 已知的問題

2.1 將資料放入從網頁範本中衍生的 Faces JSP 檔所發生的問題

將資料放在從網頁範本衍生的 Faces JSP 檔時,所產生之標示的位置可能錯誤。 如果範本在頁面主體內有多個內容區域,放下選用區頁面資料視圖或資料抽屜中的資料時,一律會在第一個內容區域中產生新的標示。 如果所需要的目標不在這個內容區域中,請切換成來源模式。 之後,再剪下產生的程式碼,將它貼在正確的位置。 請確定已選取所有新的標示,如果有含括的 h:form 標示,它也包括在內,另外也請確定貼上的位置是在所需內容區域中的 hx:scriptCollector 標示內。

2.2 Faces 資源移轉不會更新 SDO 配置

當使用最初利用 WSAD 5.1.2 來開發的專案時,系統可能會提示使用者移轉專案中的 Faces 資源。 如果使用者回應「是」,就會自動將 Faces 執行時期更新至最新的層次;不過,如果利用 WDO 來存取資料,便需要手動執行其他配置:

  1. 在原始專案中,建立新的暫時 Faces JSP 檔。(按一下檔案 > 新建 > Faces JSP 檔。 請參閱線上說明,以取得協助。)
  2. 從選用區的資料抽屜中,將關聯式記錄元件拖曳至頁面中。請選擇重複使用現有的 Meta 資料,再選取所列出的任何現有的 WDO .xml 檔。 這個程序會產生任何必要的配置,以便繼續在這個專案中使用 WDO。
  3. 刪除暫時 JSP 檔。

如果需要詳細資訊,請參閱本產品的《移轉手冊》。

2.3 在 inputText 中,無法正確更新驗證頁面

當使用者在單一頁面中有多個 inputText 欄位時,可能無法正確更新 inputText 欄位的驗證頁面。 如果 inputText 欄位有不同的轉換器子標示,就會發生這個問題。 比方說,如果一個 inputText 欄位在使用 convertNumber 轉換器,另一個有 convertDateTime 轉換器,當切換標示時,無法正確重新整理驗證頁面。 暫行解決方案有兩個:切換至來源模式,再按一下子項驗證或 Helper 標示(這時會顯示這個頁面)。 另一個暫行解決方法是關閉再重新開啟 JSP。

2.4 Faces 用戶端:在建立 EGL 的用戶端資料之後,編譯錯誤:「無法利用二進位名稱來參照巢狀類型」

為 EGL 用戶端資料所產生的 DiffHandlers 有不正確的巢狀類型參照語法。 如果要暫時解決這個問題,請編輯用戶端資料調解者類別來使用正確的語法。 請利用句點 (.) 來取代錢幣符號 ($)。 比方說,如果您有如下程式碼:

if (_Root instanceof pagehandlers.overdueaccounts$COMPANYNAME)

請將它改成:

if (_Root instanceof pagehandlers.overdueaccounts.COMPANYNAME)

2.5 Faces 用戶端:利用相同模型名稱來共用各 Portlet 中的 WDO/SDO 頁面資料的 Faces 用戶端資料模型無法運作

當您建立重複使用現有 SDO/WDO 用戶端資料的用戶端資料時,請務必重複使用 WDO/SDO Meta 資料檔及模型名稱。 當您從「頁面資料」視圖中建立 WDO/SDO 時,請選取「從現有的記錄或記錄清單中,重複使用 Meta 資料定義」。 之後,請瀏覽和選取您在重複使用的 SDO 之 Meta 資料檔。

2.6 Faces 用戶端:Faces 用戶端控制事件在入口網站中無法正確運作,因為遺漏 viewId

如果要修正這個問題,請確定在相同入口網站網頁所用的所有 Portlet 之間,所有 JSF 和 JSF 用戶端控制項都有唯一 ID。 如果入口網站網頁使用重複 ID 的不明 Portlet,仍可能發生衝突。 建議您在 ID 中併入 JSP 名稱,以確保 ID 是唯一的。

2.7 Faces 用戶端:繪圖時圓餅圖標籤和標題重疊

這個問題沒有已知的暫行解決方法。建議您儘量少用標籤以避免雜亂。

2.8 Faces 用戶端:入口網站不會在樹狀視圖中顯示自訂開啟和關閉圖示

沒有暫行解決方法。請勿在入口網站的樹狀視圖中使用自訂開啟和關閉圖示。

2.9 Faces 用戶端:繪圖執行時期 - Y 軸刻度中的部分值重複

當在 Y 軸上繪製一系列的封閉值時,可能會失去預設格式的精準度。 失去精準度可能使值重複。 如果要避免這個問題,請選擇適當的自訂數字格式,不要使用預設值。

2.10 Faces 用戶端:在 GraphDraw 中,可能會切斷 X 軸標籤字元

如果要暫時解決這個問題,請增加圖形的大小。

2.11 Faces 用戶端:依程式的方式將項目新增至資料格線時,未將標頭/標底列新增至資料格線中

資料格線的標頭和標底不會出現在下列實務中:

  1. 當資料格線連結至空白的關聯式清單時
  2. 當依程式的方式將項目新增至資料格線,且項目數超出資料格線的高度時

2.12 Faces 用戶端:網路中的 Web 服務呼叫失敗

當您用不同的伺服器機器來代管 Web 服務和用戶端時,Web 服務呼叫會失敗。 雖然 Macromedia 網站公佈了一些解決方案來解決這個跨網域的問題,但其實沒有已知的暫行解決方法。 建議您使用相同的伺服器來代管 Web 服務伺服器和用戶端。

2.13 Faces 用戶端:當建立用戶端資料時,「問題」視圖中會出現警告(未用匯入的類別警告)

如果要從專案中移除這些警告,請用滑鼠右鍵按一下含警告的 javasource 資料夾、專案或套件。 之後,再從快速功能表中選取程式碼 > 組織匯入項目

2.14 Faces 用戶端:「在 clientData 標示之前,無法除去 Faces 用戶端元件」錯誤訊息的暫行解決方法

當您將 Faces 用戶端元件放在相同頁面包含多重用戶端資料頁面中,可能會出現這個錯誤。 如果要暫時解決這個問題,請切換至 JSP 的「程式碼」視圖,將所有 <odc:clientData> 標示移至緊接在 <h:form> 標示之下。

2.15 Faces 用戶端:將樹狀視圖放在程式碼中

如果將樹狀結構元件放在頁面中,或剪下樹狀結構元件的程式碼,將它貼到頁面中,<odc:tree> 標示可能會意外出現作為其母項的 <p> 標示。 這會使樹狀結構元件不正確地呈現在結果 HTML 頁面中。如果要暫時解決這個問題,請刪除括住 <odc:tree> 標示的 <p></p> 標示。

2.16 將影像檔放在「畫面 - 已加上標籤」元件中

您不能從「縮圖」視圖或「專案瀏覽器」視圖中,將影像檔放在標籤畫面中。 如果要將影像放在畫面中,請拖放「選用區」視圖 HTML 標示抽屜中的影像,再選取您要放下的影像檔。

2.17 Faces 用戶端:在遵循移轉手冊中的步驟,來解決將目標重設為 WAS 6.0 時所產生的問題之後,可能會出現鏈結中斷的警告

遵循移轉手冊中的步驟來重設包含 Faces 用戶端元件之專案的伺服器目標(從 WebSphere Application Server 5.1 版重設為 6.0 版)之後,可能會出現中斷鏈結的警告。 如果出現這些警告,或您在 WebSphere Application Server 6.0 版中執行頁面時,頁面並未正確出現,請關閉您的 Web 專案,再重新開啟。

2.18 當使用內部瀏覽器時,無法編輯 Rich Text Editor

當利用內部瀏覽器在伺服器中執行 Rich Text Editor 時,Rich Text Editor 的行為會如同它是唯讀的。 在最初載入頁面時,或在頁面送交給伺服器之後,可能會出現這個問題。 請利用外部瀏覽器來暫時解決這個問題。

2.19 遺失頁面狀態 - 不會送出表單

這個問題是在 Faces 頁面的 URL 和頁面資源(css 和影像)的相對路徑中使用 Faces 字首所造成的。 您可利用兩種方式來暫時解決這個問題:

1) 使用頁面資源的完整路徑名稱。

2) 使用副檔名為 .faces 的 Faces 頁面之 URL,字首沒有 faces/。Faces 頁面必須由 Faces Servlet 來處理。 在專案 web.xml 檔中,依預設,會將兩項對映新增至這個 Faces Servlet 中。

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>

Faces 資料夾和副檔名為 Faces 的檔案實際上並不存在。 您只需要使它們成為 Faces 頁面 URL 的一部分。 如果要處理 page1.jsp,您可以使用 /faces/page1.jsp 或 /page1.faces。 您可以配置這兩者(比方說,您可以利用 .page 來作為副檔名)。

2.20 Faces 用戶端:只用一個直欄連結至關聯式記錄清單的資料格線無法在伺服器中執行

當資料格線只用一個直欄來連結至關聯式記錄清單所產生的用戶端資料時,會產生不正確的連結。 比方說:會產生 #{pc_Index1.surveys[0].NAME},而不是正確的 {pc_Index1.surveys} 連結。 暫行解決方法是手動編輯 JSP 程式碼來移除額外的索引和直欄名稱(如上述範例所示)。

2.21 Faces 用戶端:在匯入 Faces Client 範例之後,問題視圖會顯示許多錯誤

發生這個問題是因為工作區建置作業不完整。 如果要移除所有錯誤,請移至「專案」功能表,選取清除...。 之後,選擇清除 FacesClientTutorial 專案。 清除完成,重新建置作業也完成之後,所有錯誤應該都會消失。

2.22 Faces 用戶端:線上說明主題「移轉含 Faces 用戶端元件的 JavaServer Faces 資源」可能會遺漏資訊

部分舊版的說明主題「移轉含 Faces 用戶端元件的 JavaServer Faces 資源」可能遺漏下列項目的相關資訊:

如果您遺漏這項資訊,請參閱《移轉手冊》的 HTML 版本,它在第一片 CD 的根目錄中,或在電子影像的 disk1/migrate.html 之下。

2.23 在送出時,JavaServer Faces 頁面顯示為遺失內容

在送出時,會出現 JavaServer Faces (JSF) 頁面顯示為遺失內容的問題。 這可能與頁面的維護方式及相對路徑(如 theme/stylesheet.css)指定之頁面資源(如 css 和影像檔)的要求處理方式有關。 如果要暫時解決這個問題,JSF 頁面的 URL 應該使用 .faces 副檔名選項。 比方說,JSF 頁面 myPage.jsp 的 URL 是 /MyWebApp/myPage.faces。 這個副檔名定義在專案 web.xml 檔中。 另一個選項是選擇將狀態儲存在用戶端中。

返回主要 Readme 檔