2012-12-21 23 views
5

當我開發我的portlet並且當我寫了我的jsp頁面時,我使用了:在我的taglib中發生錯誤<%@ taglib prefix =「portlet」uri =「http://java.sun.com/portlet_2_0」%>

<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%> 

但日食告訴我一個錯誤,它無法找到http://java.sun.com/portlet_2_0的標籤lib描述符。

如何解決這個問題,而不使用tld文件?

+0

爲什麼你不想在你的項目上有所需的tld文件?如果您部署portlet,您的項目是否正常工作? –

+0

我只想使用portlet 2.0規範而不需要liferay tld文件,我還沒有部署它 – waelbk

+0

那個URI的.tld在哪裏? – nitind

回答

0

您可以下載portlet-2.0.jar並將其添加到您的項目路徑。但是如果您正在爲Liferay開發,我會建議您使用具有portlet 2.0規範的liferay-portlet.tld

4

就我而言,我使用Liferay門戶,所以爲了避免這種錯誤 我改變:

<%@ taglib uri="http://java.sun.com/portlet_2_0"% prefix="portlet"> 



<%@ taglib uri="/WEB-INF/tld/liferay-portlet.tld" prefix="portlet" %> 


並在文件「WEB-INF/liferay-plugin-package.properties」;我加入這行

portal-dependency-tlds=/WEB-INF/tld/liferay-portlet.tld 

它由Liferay的工作人員(Link

2

建議如果您添加到在WEB-INF中的web.xml文件夾,它會刪除Eclipse的錯誤消息。

<web-app> 
    <taglib> 
     <taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri> 
     <taglib-location>/WEB-INF/tld/liferay-portlet.tld</taglib-location> 
    </taglib> 
</web-app> 

希望它有幫助。

0

此錯誤僅表示Eclipse無法找到解析給定(http://java.sun.com/portlet_2_0)標記URI的標記庫描述符(TLD)。您可以從GitHub下載對應於您的門戶容器(Gatein,Pluto,Liferay等)的TLD,並將其放置在WEB-INF文件夾中。可以發現網關特定的tld here。 另外,請確保您的項目路徑中有portlet_2.0 jar。

1

刪除線

<%@ taglib uri="http://java.sun.com/portlet_2_0"% prefix="portlet"> 

並粘貼此行:

<%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%> 

然後,在WEB-INF/tld文件夾把這些文件:aui.tldliferay-portlet.tldliferay-portlet-ext.tldliferay-security.tldliferay-theme.tldliferay-ui.tldliferay-util.tld