当我开发我的 portlet 和编写我的 jsp 页面时,我使用了:
<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
但是 Eclipse 向我显示一个错误,告诉我它找不到http://java.sun.com/portlet_2_0的标签库描述符。
如何在不使用 tld 文件的情况下解决此问题?
当我开发我的 portlet 和编写我的 jsp 页面时,我使用了:
<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet_2_0"%>
但是 Eclipse 向我显示一个错误,告诉我它找不到http://java.sun.com/portlet_2_0的标签库描述符。
如何在不使用 tld 文件的情况下解决此问题?
就我而言,我使用的是 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 工作人员建议的(链接)
删除线
<%@ 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
, liferay-ui.tld
, liferay-util.tld
.
您可以下载portlet-2.0.jar并将其添加到您的项目路径中。但是,如果您正在为 Liferay 进行开发,我建议您使用liferay-portlet.tld
具有 portlet 2.0 规范的版本。
如果将此添加到 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>
希望能帮助到你。
此错误仅意味着 Eclipse 无法找到解析给定 ( http://java.sun.com/portlet_2_0 ) 标记 URI 的标记库描述符 (TLD)。您可以从 GitHub 下载与您的门户容器(Gatein、Pluto、Liferay 等)对应的 TLD,并将其放在 WEB-INF 文件夹中。可以在此处找到 Gatein 特定的 tld 。此外,请确保您的项目路径中有 portlet_2.0 jar。