JasperReportsViewResolver在一段时间后添加.html
问题内容:
我遇到一个奇怪的问题,我确实安装了httpd作为tomcat的反向代理infront,然后开始面对以下问题
org.springframework.context.ApplicationContextException: Could not load JasperReports report from class path resource [static/jasper/rpt_delivery.html.jrxml]; nested exc
eption is java.io.FileNotFoundException: class path resource [static/jasper/rpt_delivery.html.jrxml] cannot be opened because it does not exist
at org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.loadReport(AbstractJasperReportsView.java:529)
如果我为tomcat重新启动,则一切正常,但在10分钟后,我开始出现上述错误,问题是资源应解决为/statc/jasper/rpt_delivery.jrxml
,我不知道html
从哪里来,代码从大约一年。
@Bean
public JasperReportsViewResolver getJasperReportsViewResolver() {
JasperReportsViewResolver resolver = new JasperReportsViewResolver();
resolver.setPrefix("classpath:/static/jasper/");
resolver.setSuffix(".jrxml");
resolver.setReportDataKey("datasource");
resolver.setViewNames("rpt_*");
resolver.setViewClass(JasperReportsMultiFormatView.class);
resolver.setOrder(0);
return resolver;
}
@Bean
public ClassLoaderTemplateResolver templateResolver() {
ClassLoaderTemplateResolver result = new ClassLoaderTemplateResolver();
result.setPrefix("templates/");
result.setSuffix(".html");
result.setTemplateMode("HTML5");
result.setCacheable(properties.isCache());
result.setOrder(1);
return result;
}
问题答案:
正如我上面的评论确实对其他人有帮助,我将其发布为问题的答案
添加produces = "application/pdf;charset=UTF-8"
做到了,现在效果很好