【问题标题】:Warning: This page calls for XML namespace declared with prefix style but no taglibrary exists for that namespace警告:此页面调用以前缀样式声明的 XML 命名空间,但该命名空间不存在标记库
【发布时间】:2013-11-19 12:09:53
【问题描述】:

我正在将 Web 应用程序从 icefaces 1.8 升级到 Icefaces 3.x,从 jsf 1.2 升级到 jsf 2。每当我打开现有的弹出窗口时,我都会收到:

"警告:此页面调用以前缀样式声明的 XML 命名空间 但该命名空间不存在标记库。”

当然,这是通过以下方式显示的:

<ice:messages
    globalOnly="true"
    styleClass="graRequired" />

这些是我使用的命名空间:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:gra="http://www.gravitant.com/components">

我在这方面花了几个小时,但无法找出导致此问题的原因。

有没有遇到过类似情况的人?

【问题讨论】:

    标签: jsf-2 facelets xml-namespaces icefaces-3


    【解决方案1】:

    警告:此页面调用以前缀样式声明的 XML 命名空间,但该命名空间不存在标记库。

    当您使用纯 HTML &lt;style&gt; 元素而没有将默认 XML 命名空间声明为 xmlns="http://www.w3.org/1999/xhtml" 时,可能会发生这种情况。但这不太可能,因为您已经在问题的&lt;ui:composition&gt; sn-p 中声明了它。

    另一个可能的原因是您在 XML 元素或属性中使用文字字符串 style:,它表示 XML 命名空间前缀(如 h: 是标准 JSF 组件集的 XML 命名空间前缀,ice:是 ICEfaces 组件集的那个)。

    鉴于您没有有意声明这样的 XML 命名空间,并且“样式”被识别为标准 HTML 元素属性,这反过来强烈表明您在 XHTML 文件的某处意外使用了以下内容:

    <someElement style:"bar">
    

    而不是

    <someElement style="bar">
    

    只需在 style: 上按 Ctrl+F 并进行相应修复。

    【讨论】:

    • 感谢@BalusC,您的解释似乎确实中肯,但我无法在我的任何 jsp/jsf/xhtml 文件中找到这样的案例(“style:”)...
    • 那么,是时候创建一个 SSCCE 了。将最少的有问题的代码复制粘贴到一个完全空白的沙箱项目中,然后只要问题仍然可以重现,就可以删除尽可能多的代码行。您应该只得到几行代码,它仍然通过复制粘贴在另一个完全空白的沙盒项目中重现该问题,然后将其发布到此处(以便我们自己重现它!)。我最好的猜测是xmlns:gra="http://www.gravitant.com/components 中的某些东西造成了麻烦。也许是一个损坏的标签处理程序?
    • 我找到了原因...我在ui:composition 中有&lt;style type="text/css"&gt;...!谢谢!
    • 应该没问题。还是&lt;ui:composition&gt; 没有xmlns="http://www.w3.org/1999/xhtml",与您在问题中显示的相反?
    • 正是...缺少了...在我的示例中,我发布了我当前的弹出页面,但这也包括在内并且很难发现。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 2012-01-27
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多