如何在jsf中忽略svg名称空间警告

如何在jsf中忽略svg名称空间警告,svg,primefaces,jsf-2.2,Svg,Primefaces,Jsf 2.2,我有一个与此帖子类似的问题: 但是,在我的例子中,错误与SVG元素有关。我试图包括内联svg: <div> <ui:include src="img/foo.svg" /> </div> 这就是我得到的错误: 警告:此页面调用以前缀路径声明的XML命名空间,但该命名空间不存在标记库 我知道我应该忽略错误,但我根本不希望出现错误。目前,一个p:growl出现在该消息中。我该如何为那个特定的信息转变咆哮?我不想从页面中完全删除p:growl标记,因为它用

我有一个与此帖子类似的问题:

但是,在我的例子中,错误与SVG元素有关。我试图包括内联svg:

<div>
  <ui:include src="img/foo.svg" />
</div>

这就是我得到的错误:

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


我知道我应该忽略错误,但我根本不希望出现错误。目前,一个
p:growl
出现在该消息中。我该如何为那个特定的信息转变咆哮?我不想从页面中完全删除
p:growl
标记,因为它用于其他有意义的错误消息。

那么,您的SVG是否只是一个图像,您可以使用像


在web.xml中添加

<mime-mapping>
    <extension>svg</extension>
    <mime-type>image/svg+xml</mime-type>
</mime-mapping>

svg
image/svg+xml
或者,如果您只想在页面上直接呈现SVG,而不需要图像,只需呈现我们之前所做的原始SVG

<h:outputText escape="false" value="#{bean.mySvg}" />


其中bean.mySVG是从磁盘加载的“img/foo.svg”的字符串表示形式。

是的,我想我必须使用
技术,但我希望我可以使用
。我希望SVG直接呈现在页面上——我不希望它包含在
标记中。明白了。我们必须做同样的事情,并使用带有escape=“false”的h:outputText技巧将原始SVG呈现到DOM中。此外,当您从磁盘加载SVG时,您可能必须在将SVG发送到浏览器之前去掉标题和其他几行。
<h:outputText escape="false" value="#{bean.mySvg}" />