2012-12-21 26 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