【问题标题】:Eclipse - Can't find facelet tag library for uri http://java.sun.com/jsf/htmlEclipse - 找不到 uri http://java.sun.com/jsf/html 的 facelet 标记库
【发布时间】:2011-09-29 11:37:46
【问题描述】:

在我的 index.xhtml 中,我有一个像 xmlns:h="http://java.sun.com/jsf/html" 这样定义的命名空间。这个url的服务器表示页面cannot be found

你知道页面移动到哪里了吗?

Eclipse 信息

版本:靛蓝发布 版本号:20110615-0604

【问题讨论】:

    标签: java eclipse jsf facelets


    【解决方案1】:

    为了解决这个问题,我就是这样做的:

    1.关闭eclipse项目 2.打开eclipse项目 3.右键项目 4. 点击验证 =>(错误)警告消失了。

    【讨论】:

    • 这仅适用于 JSF 实现位于项目的类路径上的情况(API 不够)。否则,错误仍然存​​在。详情请查看this post
    • 这对我有用。那么,为什么会这样呢?验证器有问题?
    • @DurgaSwaroop 我不知道。但是,您可以向 Eclipse 团队提交问题。
    【解决方案2】:

    XML taglib 命名空间 URI 并不指向真正的 Web 资源或其他东西。它只是指向与运行时类路径中相关 XML 标记库的 .taglib.xml 文件的 <namespace> 条目相同的值,在 JSF 标记库(和许多其他标记库)的情况下 just 发生成为一个 HTTP URL。如果是 Mojarra,您可以在 jsf-impl.jar 文件的 /com/sun/faces/metadata/taglib/html_basic.taglib.xml 文件中找到声明。

    如果您在引用 JSF HTML 标记时遇到问题,那么原因可能在其他地方。

    【讨论】:

    • 实际上我面临这个问题:描述资源 NLS 缺少消息:CANNOT_FIND_FACELET_TAGLIB 在:org.eclipse.jst.jsf.core.validation.internal.facelet.messages index.xhtml (...) Facelet 验证器
    • 这是 Glassfish/Eclipse 特有的问题。尝试清理项目(Project > Clean)。毕竟这只是一个 Eclipse 项目构建警告。代码应该可以毫无问题地运行。真正的 JSF 运行时错误更令人感兴趣。
    【解决方案3】:

    以前的答案对我有用。在这里,我提供了一种解决此问题的替代方法。我通过将 jar primefaces-[version].jar 添加到 WEB-INF/lib 目录来解决此问题。

    【讨论】:

    • 你加了哪个罐子?
    • primefaces-[版本].jar
    【解决方案4】:
    <%@taglib   uri="http://java.sun.com/jsf/html" prefix="h"%>
    

    jsf-api.jar 和 jsf-impl.jar jar 在你的库中。

    【讨论】:

    • -1:OP 使用的是 Facelets,而不是旧版 JSP。另外,问题已经解决了。
    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 2018-11-22
    • 2013-12-12
    • 2017-04-13
    • 2013-03-04
    相关资源
    最近更新 更多