2016-02-19 105 views
0

我在使用自定義標籤庫時看到了一個奇怪的問題。 在我的一個jsp頁面中,自定義tld文件的相對uri路徑是錯誤的。uri自定義標籤庫問題

標籤庫包含在jsp頁面像下面 <%@標籤庫前綴= 「AAA」 URI = 「WEB-INF/bbb.tld」 %> 位置bbb.tld的是:用於存儲\的WebContent \ WEB-INF \ bbb.tld

此taglib包含在父jsp文件中,而不是從那裏導入/包含jsp文件。

我的應用程序有幾個其他jsp文件,其中相同的taglib與正確的路徑一起使用。

相同的代碼部署在多個測試環境中。在少數環境中,代碼會拋出錯誤「無法找到資源」,這是預期的。但taglib在大多數環境中工作正常,而不是錯誤的路徑。

爲什麼不同服務器環境之間的行爲存在差異?如果uri無法解析,服務器是否會自動查找所有tld文件?

回答

0

我建議在WEB-INF之前添加一個斜槓('/')。你可以嘗試以下嗎?

<%@ taglib prefix="aaa" uri="/WEB-INF/bbb.tld" %> 

希望這會給你所有你的服務器實例一致的結果。此外,在Stores \ WebContent \ WEB-INF \ bbb.tld中使用TLD似乎與使用IDE(例如Eclipse)開發您的應用程序有關。將應用程序導出爲EAR或WAR後,路徑將更像Stores.war/WEB-INF/bbb.tld