© Copyright International Business Machines Corporation 2006. All rights reserved.US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.
在開發 Struts Portlet 專案時,請注意 Struts Portlet 工具並未充分支援 Struts 範本標籤。
- 從選用區將 Struts 範本標籤新增至網頁時,工具會為使用者產生錯誤的 Struts web taglib 指引:
<%@taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template"%>
而不是正確的 Struts Portlet 範本 taglib 指引:
<%@taglib uri="http://struts.apache.org/tags-template" prefix="template"%>
修正該頁面的 taglib 指引並無法解決問題,因為後續新增範本標籤時還是會新增不正確的 taglib 指引。- 在 Page Designer 中看不到 Struts 範本標籤。
Struts Portlet 工具目前不支援 Struts tiles Portlet 開發,但提供 Struts tiles Portlet 範例(IBM 和 JSR168)供您匯入工作區,協助您在 Portlet 應用程式中配置 Portlet 來使用 tiles。
附註:在 Struts Portlet 專案內開發 tiles 可能引起新增「動態範本支援 (Struts Tiles)」Poject Facet。這會造成 Portlet 的部署發生問題。如需相關資訊,請參閱已知的問題和暫行解決方法。
將 Struts Portlet 範例(IBM 或 JSR168)匯入工作區時,匯入的 Struts Portlet 範例可能發生目標執行時期未定義的錯誤。視工作台配置及機器上已安裝的伺服器而定,專案可能發生下列錯誤:「目標執行時期 WebSphere® Portal 6.0 版未定義」。這表示 WebSphere Portal 6.0 版不在工作台的伺服器清單中。
暫行解決方法:
在使用範例之前,您必須先設定專案的目標伺服器執行時期。
- 確定有適當的目標伺服器可用。
- 您可以設定喜好設定(視窗 > 喜好設定 > 伺服器 > 已安裝的執行時期)來檢視和修改可用的伺服器清單。
- 找出「WebSphere Portal 6.0 版 Stub」。這應該已隨著產品的入口網站工具特性一起安裝。否則,請按一下新增按鈕來新增 WebSphere Portal 6.0 版執行時期。
- 選取匯入的專案,然後利用快速功能表來開啟專案內容。
- 選取目標執行時期。應該有一連串可用的「目標執行時期」符合您的專案。
- 按一下確定。
- 對範例所匯入的 EAR 專案,重複這些步驟。
設定目標執行時期之後,請重建專案來移除錯誤,然後就可以部署:
- 若要重建專案,請按一下專案 > 清除 > 清除所有專案或清除選取的專案,然後按一下確定。附註:有些範例會有錯誤。
- 若要部署包含錯誤的範例,您必須選取允許有錯誤的應用程式發佈至伺服器勾選框(視窗 > 喜好設定 > 伺服器 > WebSphere)來設定喜好設定。
- 按一下確定。
- 若要部署專案,請選取專案(不是 EAR 專案),再按一下執行身份 > 在伺服器中執行。確定為目標執行時期選取相同類型的伺服器。
在使用 Struts tiles Portlet 時,可能會觸發安裝「動態網頁範本支援 (Struts Tiles)」Poject Facet。 新增「動態網頁範本支援 (Struts Tiles)」是一種在動態 Web 專案中使用 Struts tiles 的簡易方法,而不是與 Struts Portlet 專案搭配使用。如果已安裝,將會導致部署時發生執行時期錯誤。此外,使用選用區將 tiles 標籤新增至 Struts Portlet JSP,還會導致新增不正確的 taglib 指引。
暫行解決方法:如果您在開發 Struts tiles Portlet,請在部署前執行下列動作:
- 判斷是否已安裝「動態網頁範本支援 (Struts Tiles)」Poject Facet。您可以開啟「專案內容 > Project Facet」來判斷。
- 如果已安裝,請移除已新增至專案中的額外 servlet 和配置檔項目:
- 在「部署描述子編輯器」中開啟 web.xml 檔案。然後,在 Servlet 標籤上,移除 TilesServlet 項目並儲存檔案。
- 在「Struts 配置檔編輯器」中開啟 struts-config.xml 檔案。然後,在「外掛程式」標籤上,移除 org.apache.struts.tiles.TilesPlugin 項目並儲存檔案。
附註:從 Poject Facet 頁面中移除「動態網頁範本支援 (Struts Tiles)」Poject Facet 並不會移除上述項目。最好將此 Poject Facet 項目留在清單中。- 對於含有 tiles 標籤的每一個 JSP,請檢查並查看已使用 Struts Portlet tiles taglib。如果未使用(指 WPS 6.0 版 Struts tiles Portlet),
- 請將:<%@taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
- 改為:<%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>