我面临的关于jasper报告的问题是我的报告的详细波段数据没有在边缘浏览器中显示。在其他浏览器上,报告显示完美。 我已经将jar和软件从6.1更新到6.3,因为6.1不支持边缘浏览器,但问题仍然存在。我也把框架放在细节带的字段后面(用于测试目的)但没有发生任何事情。 我要添加的一件事是,如果没有数据类型和报告显示空白报告,我选择了空白页面。应该从中推断出什么。 我想补充一点的是,这个问题发生在pdf报告
中答案 0 :(得分:0)
确定。问题背后的原因是两个请求被发送到控制器的报告。由于数据未填充在报告中。我在控制器中添加了一个代码以避免双重请求。
String userAgent = request.getHeader("user-agent");
System.out.println(userAgent);
if(userAgent.contains("Edge")){
String dlnaHeader = request.getHeader("getcontentfeatures.dlna.org");
System.out.println(dlnaHeader);
if(dlnaHeader == null ){
System.out.println("Looks like a fake extra Edge request on PDF viewer. Ignore it.");
//return null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] result = baos.toByteArray();
response.setContentType("application/pdf");
response.setHeader("Content-disposition","inline; ");
response.setContentLength(result.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(result);
return null;
}
}
添加此代码后,我的报告在边缘浏览器中显示详细信息区域中的数据。希望它也会帮助其他任何人。