2013-02-20 81 views
6

我下得日食以下警告:警告:JSF1091:沒有MIME類型可以發現文件DynamicContent類

當我張貼圖片

下面primefaces此錯誤是造成composant:

<p:graphicImage value="#{bean.image}"/> 

的Java Bean:

private StreamedContent image; 

// Getter 
public StreamedContent getImage() { 
    try { 
     JFreeChart jfreechart = ChartFactory.createPieChart3D("", 
         createDataset(), true, true, false); 

     PiePlot3D plot = (PiePlot3D) jfreechart.getPlot(); 

     File chartFile = new File("dynamichart"); 
     ChartUtilities.saveChartAsPNG(chartFile, jfreechart, 375, 300); 
     chartImage = new DefaultStreamedContent(new FileInputStream(
         chartFile), "image/png"); 
     return chartImage; 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return new DefaultStreamedContent(); 
    } 
} 

// generate data for image 
public static PieDataset createDataset() { 
    DefaultPieDataset dataset = new DefaultPieDataset(); 
    dataset.setValue("A",10); 
    dataset.setValue("B", 11); 
    dataset.setValue("C", 80); 
    dataset.setValue("D", 12); 
    return dataset; 
} 
+0

也許你的文件名必須是'dynamichart.png'(注意文件名的後綴)。 – 2013-02-20 16:35:30

+0

與我們分享更多您的xhtml代碼。你在哪裏使用這個圖形圖像組件? – 2013-02-20 18:56:59

+0

+1我也收到這條消息。我感興趣的是爲什麼,但是我從來沒有研究過這個,因爲它似乎沒有影響任何東西。 – 2013-02-20 19:12:57

回答

4

我找到了一個解決方案。

通過使用最新版本的primefaces(3.5)。

<dependency> 
    <groupId>org.primefaces</groupId> 
    <artifactId>primefaces</artifactId> 
    <version>3.5</version> 
</dependency> 

但將在IHM

1

不愉快的變化,我有JSF1091爲http://example.orgjavascript:;警告以及與ICEfaces的,而不是Primefaces。

更改

<ice:outputLink onclick="..." value="javascript:;">...</ice:outputLink> 

<ice:outputLink onclick="..." value="/some/url">...</ice:outputLink> 

沉默有關javascript:;警告。

改變

<a href="http://example.org"/> 

固定它的URL。

5

嘗試添加下列到web.xml文件

<mime-mapping> 
    <extension>jsp <!--{or the extension of file}--></extension> 
    <mime-type>text/html</mime-type> 
    </mime-mapping> 
1

雖然我過了一段時間後這個答案可能會是誰面對這個問題,其他開發人員有用。

爲了避免惱人的警告,從上面將下面的代碼添加到你的web.xml:

<mime-mapping> 
<extension>png</extension> 
<mime-type>image/png</mime-type> 
</mime-mapping> 

欲瞭解更多詳情請查看:

http://blog.eisele.net/2011/01/weblogic-10340-oepe-maven-primefaces.html

0

我想和大家分享我的經驗有類似的問題,我用maven,netbeanspayara。一旦我有這個警告:

警告文件fontawesome-webfont沒有找到MIME類型。WOFF登錄

以消除此警告的溶液中加入以下代碼到web.xml

<mime-mapping> 
    <extension>woff</extension> 
    <mime-type>application/font-woff</mime-type> 
</mime-mapping> 

注:我有不同的文件相同的警告,這些文件有不同的擴展名( woff, eot, woff2 and ttf)。解決方案是用<extension>中的woff替換前面提到的其中一個擴展。

我希望我的答案有一天能幫助別人。

PS:我在這個page找到了解決方案。

0

,如果你有春天你也可以有(我加了最FA-圖標的):

@Configuration 
public class JsfConfigurationMimeMapper implements EmbeddedServletContainerCustomizer { 

    @Override 
    public void customize(ConfigurableEmbeddedServletContainer container) { 
     MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); 
     mappings.add("xsd", "text/xml; charset=utf-8"); 
     mappings.add("otf", "font/opentype"); 
     mappings.add("ico", "image/x-icon"); 
     mappings.add("svg", "image/svg+xml"); 
     mappings.add("eot", "application/vnd.ms-fontobject"); 
     mappings.add("ttf", "application/x-font-ttf"); 
     mappings.add("woff", "application/x-font-woff"); 
     mappings.add("woff2", "application/x-font-woff2"); 
     mappings.add("xhtml", "application/xml"); 
     container.setMimeMappings(mappings); 
    } 
} 
+0

這是當你使用Spring **和**一個嵌入式容器,所以你很可能正在運行SpringBoot? – Kukeltje 2017-08-30 08:12:53

+0

是的,這也是一個解決方案如果你使用的是SpringBoot,那些不使用web.xml的人可以選擇,基本上你是在MimeMappings上添加你的地圖。 – Jay 2017-08-30 16:50:46

相關問題