Liferay Taglib 导入在 JSP 中不起作用

发布于 2024-12-14 05:17:38 字数 449 浏览 0 评论 0原文

我在 JSP 页面之一导入 liferay 标签库时遇到问题,不知道我做错了什么。我在以前的项目中做了完全相同的事情,但现在由于某种原因它不起作用。

我要导入的代码:

<%@ taglib uri="http://liferay.com/tld.ui" prefix="liferay-ui" %>

我遇到的语法错误:

The absolute uri: http://liferay.com/tld.ui cannot be resolved in either web.xml or the jar files deployed with this application

我尝试在谷歌上广泛搜索这个问题,但无济于事。 liferay 的糟糕文档(或缺乏文档)也没有太大帮助。

预先感谢您的任何帮助!

I'm having trouble importing the liferay taglibs in one of my JSP pages, no idea what I'm doing wrong. I did the exact same thing in previous projects, but now for some reason it's not working.

My code to import:

<%@ taglib uri="http://liferay.com/tld.ui" prefix="liferay-ui" %>

The syntax error I'm getting:

The absolute uri: http://liferay.com/tld.ui cannot be resolved in either web.xml or the jar files deployed with this application

I tried to google this problem quite extensively, but to no avail. The horrible documentation (or lack thereof) for liferay is also not a big help at all.

Thanks in advance for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深爱不及久伴 2024-12-21 05:17:38

taglib URI 从以下位置解析(按顺序):

  1. 如果容器兼容 Java EE 平台,则标记库是 Java EE 平台的一部分。目前包括 JSTL 和 JSF Tag Library 库。
  2. web.xml 中的 Taglib 映射,web.xml 可以包含 URI 和 TLD 资源路径的显式映射。
  3. WEB-INF/lib 中的 JAR 文件中的 TLDWEB-INF 下的 TLD
  4. Container 支持的 TLD

在您的情况下,请检查以下情况:
1) 如果与liferay相关的jar文件存在于WEB-INF/lib中,其中包含jar/META-INF中的TLD,该TLD将由http://liferay.com/tld.ui定义 URI。
2) 如果没有 jar 文件并且 liferay-ui.tld 存在于 jar 文件之外,请在 web.xml 中添加 URI 映射条目,如下所示:

<taglib>
    <taglib-uri>http://liferay.com/tld/ui</taglib-uri>
    <taglib-location>/WEB-INF/tld/liferay-ui.tld</taglib-location>
</taglib>

The taglib URI gets resolved from the following places(in the order):

  1. If the container is Java EE platform compliant, the tag libraries that are part of the Java EE platform. This currently includes JSTL and JSF Tag Library libraries.
  2. Taglib Map in web.xml, the web.xml can include an explicit map of URI's and TLD's respource paths.
  3. TLDs in JAR files in WEB-INF/lib and TLDs under WEB-INF
  4. TLD's supported by Container

In you case, check the following cases:
1) If jar file realted to liferay exists in WEB-INF/lib containing a TLD in jar/META-INF which will be defined with http://liferay.com/tld.ui URI.
2) If there is not jar file and the liferay-ui.tld exists outside the jar file, add the URI mapping entrey in your web.xml like below:

<taglib>
    <taglib-uri>http://liferay.com/tld/ui</taglib-uri>
    <taglib-location>/WEB-INF/tld/liferay-ui.tld</taglib-location>
</taglib>
泡沫很甜 2024-12-21 05:17:38

的是

<%@ taglib uri="http://liferay.com/tld.ui" prefix="liferay-ui" %>

值得注意

<%@ taglib prefix="liferay-ui" uri="http://liferay.com/tld/ui" %>

,“tld.ui”必须是“tld/ui”。

liferay-ui.tld 来自 util-taglib.jar,liferay 在热部署期间将其添加到您的 WEB-INF/lib 中。

不需要在 web.xml 中添加任何条目。

it is not

<%@ taglib uri="http://liferay.com/tld.ui" prefix="liferay-ui" %>

it should be

<%@ taglib prefix="liferay-ui" uri="http://liferay.com/tld/ui" %>

notice that "tld.ui" must be "tld/ui".

liferay-ui.tld comes from util-taglib.jar that liferay adds to your WEB-INF/lib during hot deploy.

No entries to your web.xml are needed.

夜司空 2024-12-21 05:17:38

您可能需要在 web.xml 中包含 taglib 声明。

    <taglib>
        <taglib-uri>http://liferay.com/tld/ui</taglib-uri>
        <taglib-location>/WEB-INF/tld/liferay-ui.tld</taglib-location>
    </taglib>

You probably need to include taglib declaration in your web.xml.

    <taglib>
        <taglib-uri>http://liferay.com/tld/ui</taglib-uri>
        <taglib-location>/WEB-INF/tld/liferay-ui.tld</taglib-location>
    </taglib>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文