Web 工具 - 版本注意事項

1.0 簡介
2.0 前一版的變更
3.0 限制
   3.1 GTK 視窗系統的顏色選取功能
   3.2 無法利用 Web Site Designer 中的候選視窗來輸入 DBCS Kanji
   3.3 網頁不套用網頁範本的情況
4.0 已知的問題
   4.1 JSP 驗證器不會自動編譯相依的 Java 變更
   4.2 效能要訣:關閉非作用中的專案
   4.3 效能要訣:停用自動驗證
   4.4 在 Linux 中,Web 工具開發精靈不會將檔案建立在唯讀資料夾中
   4.5 Page Designer 工具列功能表自訂作業的限制
   4.6 Applet 中出現「鏈結中斷」警告
   4.7 利用 Page Designer 將 Applet 插入 HTML 和 JSP 檔中
   4.8 利用「資料庫網頁」精靈建立的程式碼之強制轉型考量
   4.9 JSP 應該使用明確的 import 陳述式
   4.10 移轉 4.0.3 Web 專案中的關聯式資料
   4.11 在 DBCS 環境中為了 WebSphere 5 伺服器中的 J2EE 1.3 層次而設計的 JSP 和 Java Servlet 需要額外的程式碼片段
   4.12 將項目拖放在「快速編輯」視圖中
   4.13 利用「快速編輯」視圖中的簡單動作來使用「片段」視圖項目
   4.14 Page Designer 的機動語言支援
   4.15 Page Designer 的網頁範本支援
   4.16 利用 Web Site Designer 使用網站組件的注意事項
   4.17 在 Motif 的 Page Designer「設計」頁面顯示歐元符號
   4.18 在 DBCS 語言環境下按兩下內容輔助的建議
   4.19 在編輯器中未儲存的檔案內搜尋附註
   4.20 使用 Web Site Designer 或網頁範本的 ClearCase 限制
   4.21 「資料庫網頁」精靈產生的 JSP 之 JavaScript 套表送出問題

1.0 簡介

WebSphere Studio 中的 Web 開發環境提供了必要的工具,可用來開發 Web 應用程式。 Web 應用程式包括靜態網頁、JavaServer Pages (JSP)、Java Servlet、一個 XML 部署描述子 (web.xml) 以及其他 Web 資源。這個 Readme 檔會說明和 Web 開發環境中使用之工具相關的已知問題、限制和解決方案。

2.0 前一版的變更

現在,您可以配置 Web 專案內的 Web 內容Java 來源資料夾名稱。 預設名稱是 WebContentJavaSource;不過,您可以在 Web 工具 -> 新專案喜好設定頁面中變更新 Web 專案的預設名稱。 您可以利用導覽器來更名現有專案的資料夾。
附註:非預設資料夾名稱與 WebSphere Studio 5.0.0 不相容。 如果您需要維護工作區與 5.0.0 版的相容性,請勿變更預設名稱。

Web 視景中加入了兩個新視圖,用來協助您編輯 HTML/JSP 頁面。 「選用區」視圖有一組可在 Page Designer 中拖放至網頁的項目。 「快速編輯」視圖可讓使用者在 Page Designer 中新增/編輯 Script 和標示事件的 Script。 如果需要詳細資料,請參閱說明系統。

3.0 限制

3.1 GTK 視窗系統的顏色選取功能

您可以從顏色視圖、屬性視圖和樣式視圖中挑選畫面顏色;不過,在 GTK 視窗系統中,無法使用這個功能。 如果您要使用選取顏色的功能,請選取 Motif 視窗系統。

3.2 無法利用 Web Site Designer 中的候選視窗來輸入 DBCS Kanji

在 Web Site Designer 中,當利用 'canna' 的候選視窗來編輯文字欄位時,輸入 DBCS KANJI 會失敗。
如果要避免這個問題,請利用 'Wnn' 來取代 'canna'。 請參閱作業系統的安裝手冊,以取得詳細資訊。

3.3 網頁不套用網頁範本的情況

當使用任何網頁範本精靈時,在若干情況下,網頁可能不會套用網頁範本:

4.0 已知的問題

4.1 JSP 驗證器不會自動編譯相依的 Java 變更

當 JSP 檔參照的 Java 類別變更時,JSP 驗證器不會自動重新驗證該 JSP 檔。您可以在專案導覽器中選取這個檔案,並從快速功能表中選取執行驗證,以重新執行 JSP 驗證器來處理這個檔案。

4.2 效能要訣:關閉非作用中的專案

建議您關閉任何未經常使用的專案,以提昇效能。執行全部重新建置時,僅會重新建置開啟的專案。

4.3 效能要訣:停用自動驗證

依預設,當您儲存 Web 專案中的資源時,系統會自動執行驗證器。如果您不要在儲存這些資源時自動執行驗證器,請從「J2EE 導覽器」視圖的快速功能表中,開啟 Web 專案的內容對話框。接著,從驗證頁面中啟用置換驗證喜好設定選項,並停用儲存資源變更時自動執行驗證選項。您也可以選取視窗 > 喜好設定,並從工作台頁面停用資源修改時自動執行建置,以停用所有專案的自動驗證(與建置)。如果您停用了自動建置,您可以選取專案 > 重新建置專案,以手動方式執行建置(與驗證)。

4.4 在 Linux 中,Web 工具開發精靈不會將檔案建立在唯讀資料夾中

當您試圖在 Linux 的唯讀資料夾中建立檔案時,不會產生檔案,也不會提供錯誤訊息。

4.5 Page Designer 工具列功能表自訂作業的限制

在您利用自訂視景對話框(透過選取視窗 > 自訂視景存取) 自訂工具列之後,Page Designer 工具列功能表不能用來進一步自訂工具列。在這個情況下,您必須利用自訂視景對話框來自訂要顯示那些工具列項目。

4.6 Applet 中出現「鏈結中斷」警告

如果您使用了如下的完整 Java 類別名稱,LinksBuilder 可能會錯誤地將 Applet 的程式碼屬性值標示為無效的鏈結:

<applet code="aaa.bbb.AnApplet" codebase="MyApplets">
您可放心忽略這個警告,當 Applet 在伺服器上執行時,它並不會影響 Applet 的行為。

您可以使用路徑分隔字元 ('/') 而非分隔字元 ('.'),並明確地標示 .class 副檔名,即可避免這個警告。例如:

<applet code="aaa/bbb/AnApplet.class" codebase="MyApplets">

4.7 利用 Page Designer 將 Applet 插入 HTML 和 JSP 檔中

Web 專案的 Java 來源資料夾(依預設,是 JavaSource)是要給伺服器端的類別使用,因此 Applet 的程式碼不能放在這個資料夾中。 因此,當您開發 Applet 時,建議您執行下列動作:

  1. 為 Applet 建立一個 Java 專案,並於該專案中建立 Applet 類別。
  2. 將 Applet 類別檔複製到 Web 專案的 Web 內容資料夾(依預設,是 WebContent)中。 請勿將它們複製到 WEB-INF 資料夾,因為該資料夾僅供伺服器端的類別使用。(如果要查看這些類別檔,您必須從視圖的「功能表按鈕」下拉清單中選取過濾器來變更「專案導覽器」視圖過濾器。
  3. 在 Page Designer 中選取插入 > 其他 > Java Applet,將 Applet 插入網頁中。這時您必須設定適當的程式碼和程式碼庫的屬性。

    比方說,如果 Applet 類別為 aaa.bbb.AnApplet 且檔案結構如下:

     WebContent/index.html
    WebContent/MyApplets/aaa/bbb/AnApplet.class
    code is "aaa.bbb.AnApplet"

    則 index.html 中的 Applet 標示應包含:

    codebase is "MyApplets"

4.8 利用「資料庫網頁」精靈建立的程式碼之強制轉型考量

在使用 "IBM Data Access Bean - Master Details Pattern" 的「資料庫網頁」精靈中,有些資料庫在內部將字串強制轉換成適當的資料類型時,會發生問題。 比方說,Oracle 8.17i 不會從字串強制轉型成數字。

如果要在為了每個 DataAccess 查詢而產生的 $Prefix$ViewBean.java 檔中修正這個問題,您必須變更 prepareStatement() 方法。

如果是外觀如下的程式碼:
//新增參數說明至 Meta
資料中。DBParameterMetaData metaData = getDBSelect().getParameterMetaData();
metaData.setParameter(1, PARAM1_NAME, DatabaseMetaData.procedureColumnIn,
java.sql.Types.DECIMAL,
java.lang.String.class);

// 設定參數。
getDBSelect().setParameter(PARAM1_NAME, inSAL);

您必須將它改成:
//新增參數說明至 Meta 資料中。
DBParameterMetaData metaData = getDBSelect().getParameterMetaData();
metaData.setParameter(1, PARAM1_NAME, DatabaseMetaData.procedureColumnIn,
java.sql.Types.DECIMAL,
java.math.BigDecimal.class);

// 設定參數。
getDBSelect().setParameterFromString(PARAM1_NAME, inSAL);
您必須告訴參數 Meta 資料您的資料庫會預期什麼 Java 物件類型。 之後,在 DBSelect 實例中,利用 setParmeterFromString 方法來取代 setParameter 方法。 這會通知 DBSelect 物件執行必要的類型轉換,而不是您的資料庫。

4.9 JSP 應該使用明確的 import 陳述式

JSP 檔應該利用 page 指引的 'import' 屬性來說明該頁面中的 Scripting 環境所能使用的類型。 在 J2EE 1.2 專案所包含的 JSP 檔中,可能已隱含地匯入某些類型,但如果用在 J2EE 1.3 專案中,就會出現錯誤。 如果要避免這個問題,您永遠應該在 JSP 頁面中明確匯入類型(除非類型併在預設匯入清單中:java.lang.*、javax.servlet.*、javax.servlet.jsp.* 和 javax.servlet.http.*)。

4.10 移轉 4.0.3 Web 專案中的關聯式資料

如果要移轉 WebSphere Studio 4.0.3 專案中的關聯式資料,您必須執行下列動作:

  1. 從 4.0.3 工作區中,產生每個可用資料庫的 DDL 檔。
  2. 從 Web 專案來源/資料庫資料夾中移除資料庫(利用「資料定義」視圖)。
  3. 利用 WebSphere Studio 第 5 版開啟 4.0.3 工作區。
  4. 移轉您要還原關聯式資料的 Web 專案。
  5. 按一下檔案 > 匯入 > 檔案系統,指定 4.0.3 工作區中的 DDL 檔。
  6. 在「資料」視景的「資料定義」視圖中,選取針對本端執行,再指定目標 Web 專案。

這時會還原關聯式資料成品。

4.11 在 DBCS 環境中為了 WebSphere 5 伺服器中的 J2EE 1.3 層次而設計的 JSP 和 Java Servlet 需要額外的程式碼片段

這個項目適用於在 DBCS 環境中為了 WebSphere 5 伺服器中的 J2EE 1.3 層次而設計的 JSP 和 Java Servlet。 在存取任何要求參數或屬性之前,必須將下列程式碼片段併入程式碼中:

  if(request.getCharacterEncoding() == null){  
request.setCharacterEncoding(<encoding>); // 通常這是 JSP 或 Servlet 的編碼
}
//...存取要求物件的正常 jsp/Servlet 程式碼,例如
// <%=request.getParameter("message")%>

如果沒有完成以上所說明的作業,要求就不會包括編碼資訊,所有要求參數都會在 ISO-8859-1 中被剖析,因此,如果有任何輸入參數包括 DBCS 字元,它們的顯示會不正確。

4.12 將項目拖放在「快速編輯」視圖中

將「片段」或「選用區」視圖中的項目或文字拖放在「快速編輯」視圖之前,請先確定「快速編輯」視圖已清除「插入動作/程式碼片段」指示。

4.13 利用「快速編輯」視圖中的簡單動作來使用「片段」視圖項目

在「快速編輯」視圖中,每個「JavaScript 片段」視圖項目都有一個對應的簡式動作。 在「快速編輯」視圖中,不建議您在相同事件 Script 中,組合使用簡式動作和「片段」視圖中的項目。 如果必須組合項目,請注意片段項目的放置。 當編輯器已含有簡式動作時,將「片段」視圖中的項目拖放在「快速編輯」視圖中,可能會將片段項目插入錯誤位置。 如果發生這個狀況,請刪除並重新插入簡式動作。

4.14 Page Designer 的機動語言支援

您可以從插入對話框或屬性視圖中插入機動語言所不支援的屬性,如 cHTML 或 WML。
不過,您可以利用工具 > 驗證 HTML 語法來檢查 cHTML 文件程式碼有沒有效,或利用工具 > 驗證 WML 語法來檢查 WML 文件程式碼有沒有效。

4.15 Page Designer 的網頁範本支援

Page Designer 支援網頁範本,但 Page Designer Classic 不支援。 您可以利用 Page Designer 的「網頁範本」功能來編輯 HTML/JSP 頁面。

4.16 利用 Web Site Designer 使用網站組件的注意事項

4.17 在 Motif 的 Page Designer「設計」頁面顯示歐元符號

當在 Motif 系統中執行時,Page Designer 的「設計」頁面無法顯示歐元符號。 如果要顯示這個符號,必須使用 GTK 系統。

4.18 在 DBCS 語言環境下按兩下內容輔助的建議

當使用 Linux(Motif 或 GTK)和 DBCS 語言環境時,按兩下內容輔助清單,有時會使 Java VM 終止。 如果要選取清單中的項目,請利用方向鍵和 Enter 鍵,不要按兩下清單。

4.19 對編輯器中未儲存的檔案搜尋附註

在 XML 編輯器之類多頁面編輯器的「程式碼編輯器」和「程式碼」頁面中,搜尋功能是從檔案系統中的儲存資源執行的,而不是從編輯器內容來執行。 在任何未儲存的編輯器中搜尋附註可能並不可靠。 如果要避免這個問題,請先儲存檔案,再執行搜尋動作。

4.20 使用 Web Site Designer 或網頁範本的 ClearCase 限制

如果您利用 Web Site Designer 來處理 Web 專案,您必須先確定 HTML 或 JSP 檔和相關檔案之類的專案檔已移出 ClearCase 儲存庫。

另外,如果您在 Web 專案中使用網頁範本,您也必須先將適當的檔案移出 ClearCase。

4.21 「資料庫網頁」精靈產生的 JSP 之 JavaScript 套表送出問題

在「資料庫網頁」精靈產生的某些 JSP (尤其是標題為 '***MasterView.jsp' 的 JSP)中,

標題為「上一步」、「重新整理」和其他的頁面中的鏈結可能無法在所有瀏覽器中運作。 這些問題出現在某些瀏覽器中,尤其是 Mozilla 和 Konqueror。

如果要修正大部分瀏覽器的這個問題,請變更 JSP 中名稱為 'submitForm' 之函數的 Javascript 程式碼。

請將方法中的 'document.<formName>.elements.action' 變數改成 'document.<formName>.action'。

比方說,function submitForm(nav){ if(nav == 'SCHEMA_TABLEInputForm'){ document.myForm.elements.action = "/Web3/SCHEMA_TABLEInputForm.html"; } else if(nav == 'SCHEMA_TABLEMasterView'){ document.myForm.elements.action = "/Web3/SCHEMA_TABLEMasterView"; } else{ document.myForm.elements.action = "/Web3/SCHEMA_TABLEDetailsView"; }

改成:

function submitForm(nav){ if(nav == 'SCHEMA_TABLEInputForm'){ document.myForm.action = "/Web3/SCHEMA_TABLEInputForm.html"; } else if(nav == 'SCHEMA_TABLEMasterView'){ document.myForm.action = "/Web3/SCHEMA_TABLEMasterView"; } else{ document.myForm.action = "/Web3/SCHEMA_TABLEDetailsView"; }

返回主 Readme 檔