Jsf 2 警告:此页面调用使用前缀样式声明的XML命名空间,但该命名空间不存在标记库
我正在将一个web应用程序从IceFaces1.8升级到IceFaces3.x,并从JSF1.2升级到JSF2。无论何时打开现有弹出窗口,我都会收到: 警告:此页调用以前缀样式声明的XML命名空间 但该命名空间不存在标记库。“ 当然,这是通过以下方式显示的:Jsf 2 警告:此页面调用使用前缀样式声明的XML命名空间,但该命名空间不存在标记库,jsf-2,facelets,xml-namespaces,icefaces-3,Jsf 2,Facelets,Xml Namespaces,Icefaces 3,我正在将一个web应用程序从IceFaces1.8升级到IceFaces3.x,并从JSF1.2升级到JSF2。无论何时打开现有弹出窗口,我都会收到: 警告:此页调用以前缀样式声明的XML命名空间 但该命名空间不存在标记库。“ 当然,这是通过以下方式显示的: <ice:messages globalOnly="true" styleClass="graRequired" /> 以下是我使用的名称空间: <!DOCTYPE html PUBLIC "-//W
<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">
我花了几个小时在这个问题上,我无法找到什么可以导致这个问题
有没有人遇到过类似的事情
警告:此页面调用使用前缀样式声明的XML命名空间,但该命名空间不存在标记库
当您使用纯HTML
元素而没有将默认XML命名空间声明为xmlns=”时,可能会发生这种情况http://www.w3.org/1999/xhtml“
。但这不太可能,因为您已经在问题的
片段中声明了这一点
另一个可能的原因是您在XML元素或属性中使用了文本字符串样式:
,这表示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
中找到了。
!谢谢!这应该可以正常工作。还是说
没有xmlns=”http://www.w3.org/1999/xhtml“
,与问题中显示的相反?正是。。。缺少的是。。。在我的示例中,我发布了我当前的弹出页面,但这也包括在内,很难发现。再次感谢。