1.0 簡介
2.0 前一版的變更
3.0 限制
3.1 網頁不套用網頁範本的情況
4.0 已知的問題
4.1 JSP 驗證器不會自動編譯相依的 Java 變更
4.2 效能要訣:關閉非作用中的專案
4.3 效能要訣:停用自動驗證
4.4 啟用和停用 Page Designer Classic
4.5 Page Designer 工具列功能表自訂作業的限制
4.6 Applet 中出現「鏈結中斷」警告
4.7 利用 Page Designer 將 Applet 插入 HTML 和 JSP 檔中
4.8 預覽含有 Shockwave 的 HTML 檔可能使 WebSphere Studio 突然結束
4.9 在 Windows 2000/XP 中顯示部分 GB18030 字元會有問題
4.10 WebArt Designer、Animated GIF Designer 和 PageDesigner Classic 的 BiDi 問題
4.11 利用「資料庫網頁」精靈建立的程式碼之強制轉型考量
4.12 JSP 應該使用明確的 import 陳述式
4.13 Page Designer Classic 的雙向語言支援
4.14 在 4.0.3 Web 專案中移轉關聯式資料
4.15 在 DBCS 環境中為了 WebSphere 5 伺服器中的 J2EE 1.3 層次而設計的 JSP 和 Java Servlet 需要額外的程式碼片段
4.16 將項目拖放在「快速編輯」視圖中
4.17 利用「快速編輯」視圖中的簡單動作來使用「片段」視圖項目
4.18 Page Designer 的機動語言支援
4.19 Page Designer 的網頁範本支援
4.20 利用 Web Site Designer 使用網站組件的注意事項
4.21 變更系統的顏色和字型的設定
4.22 搜尋編輯器未儲存的檔案的附註
4.23 使用 Web Site Designer 或網頁範本的 ClearCase 限制
4.24 「資料庫網頁」精靈產生的 JSP 之 JavaScript 套表送出問題
WebSphere Studio 中的 Web 開發環境提供了必要的工具,可用來開發 Web 應用程式。 Web 應用程式包括靜態網頁、JavaServer Pages (JSP)、Java Servlet、一個 XML 部署描述子 (web.xml) 以及其他 Web 資源。這個 Readme 檔會說明和 Web 開發環境中使用之工具相關的已知問題、限制和解決方案。
現在,您可以配置 Web 專案內的 Web 內容和 Java 來源資料夾名稱。 預設名稱是 WebContent 和 JavaSource;不過,您可以在 Web 工具 -> 新專案喜好設定頁面中變更新 Web 專案的預設名稱。 您可以利用導覽器來更名現有專案的資料夾。
附註:非預設資料夾名稱與 WebSphere Studio 5.0.0 不相容。 如果您需要維護工作區與 5.0.0 版的相容性,請勿變更預設名稱。Web 視景中加入了兩個新視圖,用來協助您編輯 HTML/JSP 頁面。 「選用區」視圖有一組可在 Page Designer 中拖放至網頁的項目。 「快速編輯」視圖可讓使用者在 Page Designer 中新增/編輯 Script 和標示事件的 Script。 如果需要詳細資料,請參閱說明系統。
當使用任何網頁範本精靈時,在若干情況下,網頁可能不會套用網頁範本:
- 編碼與所選網頁範本不同的網頁不會套用網頁範本。
- 當所選網頁範本或網頁是由 XML 樣式 JSP 來說明時,不會套用網頁範本。
- 已有相關網頁範本的網頁不會套用網頁範本。
當 JSP 檔參照的 Java 類別變更時,JSP 驗證器不會自動重新驗證該 JSP 檔。您可以在專案導覽器中選取這個檔案,並從快速功能表中選取執行驗證,以重新執行 JSP 驗證器來處理這個檔案。
建議您關閉任何未經常使用的專案,以提昇效能。執行全部重新建置時,僅會重新建置開啟的專案。
依預設,當您儲存 Web 專案中的資源時,系統會自動執行驗證器。如果您不要在儲存這些資源時自動執行驗證器,請從「J2EE 導覽器」視圖的快速功能表中,開啟 Web 專案的內容對話框。接著,從驗證頁面中啟用置換驗證喜好設定選項,並停用儲存資源變更時自動執行驗證選項。您也可以選取視窗 > 喜好設定,並從工作台頁面停用資源修改時自動執行建置,以停用所有專案的自動驗證(與建置)。如果您停用了自動建置,您可以選取專案 > 重新建置專案,以手動方式執行建置(與驗證)。
WebSphere Studio V4 版本的 Page Designer(現稱為 Page Designer Classic)已在第五版中重新設計。新的 Page Designer(在使用者介面與產品文件內稱為 Page Designer Classic)是建議使用的版本。 它也是預設版本。Page Designer Classic 不能當作可安裝的特性,但可利用以下指示來啟用。
Page Designer 提供了加強的可用性與特性,如視圖型的屬性編輯以及簡化的標示庫支援。
有些 Page Designer Classic 的特性並未納入。這些功能包括:
- 雙向 (BiDi) 支援
- 動態元素(包括動態表格)
- 可存取性檢查程式
除非您需要 Page Designer Classic 內含特性的特定支援, 否則請使用預設的 Page Designer。如果您要啟用 Page Designer Classic,請執行下列動作:
安裝 Page Designer Classic:
- 開始安裝之前,請先結束 WebSphere Studio。
- 在「Windows 檔案總管」中,開啟目錄 WSAD INSTALL DIR/bin,並按兩下 pdclassic.exe。
- 當您重新啟動 WebSphere Studio 時,系統會顯示更新項目對話框。請按一下是按鈕。
附註:如果這是您第一次使用工作台,這個步驟和以下的步驟不會發生。- 在配置變更對話框中,選取偵測到的變更區域內的勾選框。 接著,按一下完成按鈕。
- 在安裝/更新對話框中,按一下是 按鈕。工作台會重新啟動使變更生效。
將 Page Designer Classic 對映成預設 Web 編輯器:
在安裝 Page Designer Classic 之後,依預設,系統會對映這個編輯器和數種 HTML 和 JSP 檔案類型(包括 *.htm、*.html、*.jsp、*.jhtml、*.shtml、*.shtm 和 *.html-ss)之間的檔案關聯,使您可以利用「J2EE 導覽器」視圖快速功能表中的開啟檔案 > Page Designer Classic,在 Page Designer Classic 中開啟選取的檔案。可是,如果您要使 Page Designer Classic 成為 HTML 和 JSP 檔案類型的預設編輯器,請執行下列動作:
- 選取視窗 > 喜好設定。
- 展開工作台設定,並開啟檔案關聯頁面。
- 從檔案類型清單框中選取適當的檔案類型(一次一個)。
- 從編輯器選項對話框中選取 Page Designer Classic,然後按一下預設值按鈕。
- 對每一個適用的檔案類型重複第 3 和第 4 步驟。
附註:如果您稍後停用再重新啟用 Page Designer Classic,檔案關聯也會復原。不過,對映檔類型的預設編輯器會回復成新的 Page Designer。
您也可以選擇性地更新 Page Designer Classic 的編輯喜好設定。請選取視窗 > 喜好設定,然後展開 Web 工具設定。請展開 Page Design (Classic)以進行所需的更新。
停用 Page Designer Classic
如果要停用這項特性(包括說明),並回復使用預設的 Page Designer,請執行下列步驟:
- 選取說明 > 軟體更新項目 > 更新管理程式。
- 在安裝配置視圖中,展開現行配置以找出 Page Designer Classic 5.1.0,並選取它。
- 按一下預覽窗格右下角的停用按鈕。
- 在功能安裝對話框中,按一下完成按鈕。
- 在安裝/更新對話框中,按一下是按鈕。工作台會重新啟動使變更生效。
啟用 Page Designer Classic(在它停用之後)
如果要重新啟用 Page Designer Classic,請勿重新執行 pdclassic.exe。請改以執行下列步驟:
- 選取說明 > 軟體更新項目 > 更新管理程式。
- 在安裝配置視圖中,按一下稱為顯示停用的特性的工具列按鈕。
- 展開現行配置以找出 Page Designer Classic 5.1.0,並選取它。
- 按一下預覽窗格右下角的啟用按鈕。
- 在功能安裝對話框中,按一下完成按鈕。
- 在安裝/更新對話框中,按一下是按鈕。工作台會重新啟動使變更生效。
在您利用自訂視景對話框(透過選取視窗 > 自訂視景存取) 自訂工具列之後,Page Designer 工具列功能表不能用來進一步自訂工具列。在這個情況下,您必須利用自訂視景對話框來自訂要顯示那些工具列項目。
如果您使用了如下的完整 Java 類別名稱,LinksBuilder 可能會錯誤地將 Applet 的程式碼屬性值標示為無效的鏈結:
<applet code="aaa.bbb.AnApplet" codebase="MyApplets">您可放心忽略這個警告,當 Applet 在伺服器上執行時,它並不會影響 Applet 的行為。您可以使用路徑分隔字元 ('/') 而非分隔字元 ('.'),並明確地標示 .class 副檔名,即可避免這個警告。例如:
<applet code="aaa/bbb/AnApplet.class" codebase="MyApplets">
Web 專案的 Java 來源資料夾(依預設,是 JavaSource)是要給伺服器端的類別使用,因此 Applet 的程式碼不能放在這個資料夾中。 因此,當您開發 Applet 時,建議您執行下列動作:
- 為 Applet 建立一個 Java 專案,並於該專案中建立 Applet 類別。
- 將 Applet 類別檔複製到 Web 專案的 Web 內容資料夾(依預設,是 WebContent)中。 請勿將它們複製到 WEB-INF 資料夾,因為該資料夾僅供伺服器端的類別使用。(如果要查看這些類別檔,您必須從視圖的「功能表按鈕」下拉清單中選取過濾器來變更「專案導覽器」視圖過濾器。
- 在 Page Designer 中選取插入 > 其他 > Java Applet,將 Applet 插入網頁中。這時您必須設定適當的程式碼和程式碼庫的屬性。
比方說,如果 Applet 類別為 aaa.bbb.AnApplet 且檔案結構如下:
WebContent/index.htmlcode is "aaa.bbb.AnApplet"
WebContent/MyApplets/aaa/bbb/AnApplet.class則 index.html 中的 Applet 標示應包含:
codebase is "MyApplets"
這個問題沒有已知的暫行解決方法。
GB18030 是中華人民共和國提出 的字集標準,它指定一份延伸字碼頁和一份 Unicode 對映表。 如果系統語言環境是簡體中文,且已安裝了 Microsoft GB18030 支援套件,WebArt Designer 和 Animated GIF Designer 無法正確顯示 0xA840 - 0xA9A0 範圍內的 GB18030 字元。
如果是 WebArt Designer,這個問題會發生在「WebArt 展示區」視圖的文字欄位、「標誌精靈(指定文字 1/4)」對話框的文字欄位、「編輯書籤」對話框的文字欄位,以及「書籤」功能表的功能表項目中。
如果是 Animated GIF Designer,這個問題會發生在「頁框內容(註解頁框)」對話框的「註解」欄位、「頁框縮圖」視圖的「註解」頁框,以及「建立動畫橫幅」對話框的文字欄位中。
比方說,如果您輸入 GB18030 '0xA877' 字元(在 Unicode 中,U+2573 是有淡對角線交叉的方塊), 它會顯示為 GB18030 '0xA876'(在 Unicode 中,U+2572 是有左上到右下淡對角線的方塊)。
WebArt Designer 和 Page Designer Classic 有時無法在 Windows XP 中建立雙向語言的標誌影像。 如果您在建立由右至左字元的標誌影像時指定字元間距,標誌中的字元不會重新排序。 您必須將字元間距指定為零,Windows XP 才會有雙向字元正確的標誌影像。
AnimatedGif Designer 的動畫橫幅有相同的限制。
在使用 "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 資料中。
您必須告訴參數 Meta 資料您的資料庫會預期什麼 Java 物件類型。 之後,在 DBSelect 實例中,利用 setParmeterFromString 方法來取代 setParameter 方法。 這會通知 DBSelect 物件執行必要的類型轉換,而不是您的資料庫。
DBParameterMetaData metaData = getDBSelect().getParameterMetaData();
metaData.setParameter(1, PARAM1_NAME, DatabaseMetaData.procedureColumnIn,
java.sql.Types.DECIMAL,
java.math.BigDecimal.class);
// 設定參數。
getDBSelect().setParameterFromString(PARAM1_NAME, inSAL);
JSP 檔應該利用 page 指引的 'import' 屬性來說明該頁面中的 Scripting 環境所能使用的類型。 在 J2EE 1.2 專案所包含的 JSP 檔中,可能已隱含地匯入某些類型,但如果用在 J2EE 1.3 專案中,就會出現錯誤。 如果要避免這個問題,您永遠應該在 JSP 頁面中明確匯入類型(除非類型併在預設匯入清單中:java.lang.*、javax.servlet.*、javax.servlet.jsp.* 和 javax.servlet.http.*)。
在 Windows 中,您可以將系統預設語言環境和使用者預設語言環境設為阿拉伯文或希伯來文來啟用 Page Designer Classic 的雙向支援。
如果要移轉 WebSphere Studio 4.0.3 專案中的關聯式資料,您必須執行下列動作:
- 從 4.0.3 工作區中,產生每個可用資料庫的 DDL 檔。
- 從 Web 專案來源/資料庫資料夾中移除資料庫(利用「資料定義」視圖)。
- 利用 WebSphere Studio 第 5 版開啟 4.0.3 工作區。
- 移轉您要還原關聯式資料的 Web 專案。
- 按一下檔案 > 匯入 > 檔案系統,指定 4.0.3 工作區中的 DDL 檔。
- 在「資料」視景的「資料定義」視圖中,選取針對本端執行,再指定目標 Web 專案。
這時會還原關聯式資料成品。
這個項目適用於在 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 字元,它們的顯示會不正確。
將「片段」或「選用區」視圖中的項目或文字拖放在「快速編輯」視圖之前,請先確定「快速編輯」視圖已清除「插入動作/程式碼片段」指示。
在「快速編輯」視圖中,每個「JavaScript 片段」視圖項目都有一個對應的簡式動作。 在「快速編輯」視圖中,不建議您在相同事件 Script 中,組合使用簡式動作和「片段」視圖中的項目。 如果必須組合項目,請注意片段項目的放置。 當編輯器已含有簡式動作時,將「片段」視圖中的項目拖放在「快速編輯」視圖中,可能會將片段項目插入錯誤位置。 如果發生這個狀況,請刪除並重新插入簡式動作。
您可以從插入對話框或屬性視圖中插入機動語言所不支援的屬性,如 cHTML 或 WML。
不過,您可以利用工具 > 驗證 HTML 語法來檢查 cHTML 文件程式碼有沒有效,或利用工具 > 驗證 WML 語法來檢查 WML 文件程式碼有沒有效。
Page Designer 支援網頁範本,但 Page Designer Classic 不支援。 您可以利用 Page Designer 的「網頁範本」功能來編輯 HTML/JSP 頁面。
- 在某些文件類型的頁面中,不能有效插入部分網站組件。 按一下「插入」對話框的確定之後,會出現「無法使用這個網站組件」錯誤。 這表示如果在目標頁面的文件類型中使用所選網站組件的規格檔,會產生無效的程式碼。 比方說,如果頁面的文件類型是 cHTML 或 WML,幾乎所有網站組件都會含有在這些標記語言中無效的標示。
- 導覽列可能會因為相關的規格檔而含有無效的程式碼。 如果「作業」視圖出現許多錯誤和/或警告,原因可能就在於導覽列的規格檔。 請編輯規格檔來更正錯誤。
- 頁面的導覽列可能含有毀損字元。 如果導覽標籤含有無法根據頁面中指定的編碼規則來編碼的字元,就可能發生這個情況。 如果要避免這個情況,請將導覽標籤所用的字元類型限制於頁面所用的編碼,或在頁面中使用更豐富的編碼規則。
- 插入網站對照表對話框所列出的所有範例規格檔都能處理網站結構中第 1 至 5 層之間的頁面。 即使您在屬性視圖中設定給 siteedit:sitemap 標示的終端層次超出 5,在第 5 層之上的頁面鏈結也不會併入網站對照表中。
當您變更系統的顏色和字型設定時,您必須重新啟動 WebSphere Studio,使新設定套用在 Page Designer 的「設計」頁面和「選用區」視圖上。
在 XML 編輯器之類多頁面編輯器的「程式碼編輯器」和「程式碼」頁面中,搜尋功能是從檔案系統中的儲存資源執行的,而不是從編輯器內容來執行。 在任何未儲存的編輯器中搜尋附註可能並不可靠。 如果要避免這個問題,請先儲存檔案,再執行搜尋動作。
如果您利用 Web Site Designer 來處理 Web 專案,您必須先確定 HTML 或 JSP 檔和相關檔案之類的專案檔已移出 ClearCase 儲存庫。
另外,如果您在 Web 專案中使用網頁範本,您也必須先將適當的檔案移出 ClearCase。
在「資料庫網頁」精靈產生的某些 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"; }
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.