我在我的一个 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 可怕的文档(或缺乏文档)也根本没有太大帮助。

在此先感谢您的帮助!

最佳答案

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

  • 如果容器与 Java EE 平台兼容,则为 Java EE 平台一部分的标记库。这目前包括 JSTL and JSF Tag Library 库。
  • Taglib Map in web.xml ,web.xml 可以包含 URI 和 TLD 资源路径的显式映射。
  • TLDs in JAR files in WEB-INF/libTLDs under WEB-INF
  • TLD's supported by Container

  • 在您的情况下,请检查以下情况:
    1) 如果与 liferay 相关的 jar 文件存在于 WEB-INF/lib 中,其中 jar/META-INF 将使用 http://liferay.com/tld.ui URI 定义一个 TLD。
    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>
    

    关于java - Liferay Taglib 导入在 JSP 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8061648/

    10-13 22:55