2013-02-20 15 views
6

uzyskać następujące ostrzeżenie pod Eclipse:UWAGA: JSF1091: Brak typu MIME można znaleźć w pliku dynamicContent

Ten błąd jest spowodowany kiedy opublikować zdjęcie

poniżej 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

Może nazwa pliku musi być 'dynamichart.png' (nota sufiks nazwy pliku). –

+0

Udostępnij nam więcej kodu XHTML. Gdzie używasz tego komponentu graficznego? –

+0

+1 Otrzymuję również tę wiadomość. Interesuje mnie to, dlaczego, ale nigdy nie badałem tego, ponieważ nic nie wpływa na nic. –

Odpowiedz

4

Znalazłem jedno rozwiązanie.

przy użyciu najnowszej wersji priorytetów (3.5).

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

ale nie będzie nieprzyjemne zmiany w IHM

1

miałem JSF1091 ostrzeżenie dla http://example.org i javascript:;, jak również z ICEfaces zamiast Primefaces.

Zmiana

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

do

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

wyciszony ostrzeżenie o javascript:;.

Zmiana listy

do

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

naprawić go do adresu URL.

5

spróbuj dodać następujące wpisy do pliku web.xml

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

Chociaż pisać tę odpowiedź po chwili prawdopodobnie będzie to przydatne dla innych programistów, którzy borykają się ten problem.

aby uniknąć irytujących ostrzeżenie z góry dodaj następujący kod do web.xml:

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

Aby uzyskać więcej informacji proszę sprawdzić:

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

0

po prostu chcę podzielić się moim doświadczeniem z podobnym problemem używam maven, netbeans i payara. Po otrzymaniu tego ostrzeżenia:

OSTRZEŻENIE Dla pliku fontawesome-webfont nie znaleziono typu mime.WOFF jest zalogowany

roztwór w celu usunięcia tego ostrzeżenia został dodając następujący kod do web.xml:

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

Uwaga: miałem to samo ostrzeżenie z różnych plików, pliki te miały różne rozszerzenia (woff, eot, woff2 and ttf). Rozwiązaniem tego problemu było zastąpienie woff w <extension> jednym z wcześniej wymienionych rozszerzeń.

Mam nadzieję, że moja odpowiedź kiedyś pomoże komuś.

PS: Znalazłem rozwiązanie w tym page.

0

jeśli masz sprężynę można również (dodałem większość FA-ikon):

@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

To jest, gdy używasz Spring ** AND ** osadzonego kontenera, więc najprawdopodobniej używasz SpringBoot? – Kukeltje

+0

tak, to jest również rozwiązanie jeśli używasz SpringBoot, alternatywa dla tych, którzy nie używają web.xml, zasadniczo dodajesz swoje mapy w MimeMappings. – Jay

Powiązane problemy