我在eclipse下收到以下警告:
WARNING: JSF1091: No mime type could be found for file dynamiccontent. To resolve this, add a mime-type mapping to the applications web.xml
这个错误是当我发布图片时引起的
以下素数组合:
<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;
}
尝试将以下内容添加到web.xml文件
<mime-mapping>
<extension>jsp <!--{or the extension of file}--></extension>
<mime-type>text/html</mime-type>
</mime-mapping>
我找到了一个解决方案。
通过使用最新版本的素数面(3.5)。
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.5</version>
</dependency>
但是IHM 会发生令人不快的变化
我只是想分享我遇到类似问题的经验,我使用了maven
、netbeans
和payara
。有一次我收到这样的警告:
警告找不到文件fontawesome-webfont.woff的mime类型,已记录
删除此警告的解决方案是将以下代码添加到web.xml
:
<mime-mapping>
<extension>woff</extension>
<mime-type>application/font-woff</mime-type>
</mime-mapping>
注意:我在不同的文件中收到了相同的警告,这些文件具有不同的扩展名(woff, eot, woff2 and ttf
)。解决方案是用前面提到的扩展之一替换<extension>
中的woff
。
我希望有一天我的答案能帮助到别人。
附言:我在这一页找到了解决方案。
我也收到了针对http://example.org
和javascript:;
的JSF1091警告,使用了Icefaces而不是Primefaces。
更改
<ice:outputLink onclick="..." value="javascript:;">...</ice:outputLink>
至
<ice:outputLink onclick="..." value="/some/url">...</ice:outputLink>
使关于CCD_ 10的警告静音。
更改
<ice:outputLink value="http://example.org"/>
至
<a href="http://example.org"/>
为URL修复了它。
尽管我会在一段时间后发布这个答案,但它可能对其他面临这个问题的开发人员有用。
为了避免上面的恼人警告,请将以下代码添加到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
对于Spring Boot 2:
@Configuration
public class JsfConfigurationMimeMapper implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory factory) {
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");
factory.setMimeMappings(mappings);
}
}
如果你有弹簧,你也可以有(我添加了大部分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);
}
}