2014-10-29 214 views
2
之間

我已經創建了兩個項目的webutils「和「網站」共享customTags.tld項目

在網站我已創建自定義標籤庫和customTags.tld文件中引用標記。

在我的JSP的我用這

<%@ taglib uri="/WEB-INF/tags/customTags.tld" prefix="tt"%> 

它工作正常。我可以使用

<tt:mytag/> 

現在的問題是我想將我的標記庫移到webutils項目。只移動Java包的java包可以工作,但我想將customTags.tld文件移動到webutils。當我這樣做不起作用。我無法引用.tld文件。

讓我知道是否需要更多的問題澄清,因爲我承擔了很多事情。

我正在使用gradle & spring-boot。

忘了提及一些東西,'網站'取決於'webutils'。我正在使用gradle。

回答

2

如果你想重新分配您的標記文件或實現自定義 標籤用Java編寫的標記處理程序,您必須在 標籤庫描述符(TLD)聲明標籤。標籤庫描述符是一個XML文檔,其中包含有關整個庫的信息,以及關於庫中包含的每個標籤的信息。 Web 容器使用TLD來驗證標記,並通過JSP頁面開發工具進行驗證。

標籤庫描述符文件名必須有擴展名.TLD和 必須在WAR文件 的/ WEB-INF /目錄或子目錄或在標籤的/ META-INF /目錄或子目錄打包包裝在JAR中的庫 。如果標籤是作爲標籤文件實現的,並且打包在/ WEB-INF/tags /或子目錄中,則由Web容器自動生成 ,但如果您希望 希望,則可以提供一個TLD。

http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags6.html

所以,如果使用Maven,例如,將.TLD下​​

的src /主/資源/ META-INF

+0

我如何請參閱本.TLD在我JSP? – LNT 2014-10-29 18:08:13

+0

您可以在您的tld中指定一個uri,然後像引用其他taglib一樣引用它。見前面的鏈接。 – 2014-10-30 09:23:17

+0

它工作,如果tld是在同一個項目,但不是如果它是在另一個項目,說它正在工作,如果我在'網站',但不是當我把它放在'webutils'。我想從jsp的網站項目中引用.tld。 – LNT 2014-10-30 09:37:07