当我开发我的portlet时,当我编写我的jsp页面时,我使用了:
<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
但是eclipse向我显示错误,告诉我无法找到http://java.sun.com/portlet_2_0的标记库描述符。
如何使用tld文件解决此问题?
答案 0 :(得分:5)
在我的情况下,我正在使用Liferay Portal,所以为了避免这个错误
我改变了:
<%@ 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)
建议答案 1 :(得分:2)
删除行
<%@ taglib uri="http://java.sun.com/portlet_2_0"% prefix="portlet">
并粘贴此行:
<%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
然后,在WEB-INF/tld
文件夹中放置以下文件:aui.tld
,liferay-portlet.tld
,liferay-portlet-ext.tld
,liferay-security.tld
,liferay-theme.tld
,{{1} },liferay-ui.tld
。
答案 2 :(得分:1)
您可以下载portlet-2.0.jar并将其添加到项目路径中。但如果您正在为Liferay开发,我建议您使用具有portlet 2.0规范的liferay-portlet.tld
。
答案 3 :(得分:1)
如果将其添加到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>
希望它有所帮助。
答案 4 :(得分:1)
此错误仅表示Eclipse无法找到解析给定(http://java.sun.com/portlet_2_0)标记URI的标记库描述符(TLD)。您可以从GitHub下载与门户容器(Gatein,Pluto,Liferay等)相对应的TLD,并将其放在WEB-INF文件夹中。可以找到Gatein特定tld here。 另外,请确保项目路径中包含portlet_2.0 jar。