Java Jasper报告详细标注栏数据未显示在边缘浏览器中
关于jasper报告,我面临的问题是,我的报告的详细波段数据未显示在edge浏览器中。在其他浏览器上,报告显示得非常完美。 我已经将JAR和软件从6.1更新到6.3,因为6.1不支持边缘浏览器,但问题仍然存在。我还将框架放置在字段后面的详细波段(用于测试目的),但什么也没发生。 我想补充的一点是,在没有数据类型和报表显示空白报表的情况下,我选择了空白页面。应该从中推断出什么。Java Jasper报告详细标注栏数据未显示在边缘浏览器中,java,jasper-reports,microsoft-edge,export-to-pdf,Java,Jasper Reports,Microsoft Edge,Export To Pdf,关于jasper报告,我面临的问题是,我的报告的详细波段数据未显示在edge浏览器中。在其他浏览器上,报告显示得非常完美。 我已经将JAR和软件从6.1更新到6.3,因为6.1不支持边缘浏览器,但问题仍然存在。我还将框架放置在字段后面的详细波段(用于测试目的),但什么也没发生。 我想补充的一点是,在没有数据类型和报表显示空白报表的情况下,我选择了空白页面。应该从中推断出什么。 我想补充的一点是,这个问题发生在pdf报告中。问题背后的原因是两个请求被发送到报告的控制器。因此,报告中没有填充数据。我
我想补充的一点是,这个问题发生在pdf报告中。问题背后的原因是两个请求被发送到报告的控制器。因此,报告中没有填充数据。我在控制器中添加了一个代码以避免双重请求
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;
}
}
添加此代码后,我的报告在边缘浏览器的详细栏中显示数据。希望它也能帮助其他人。您是否在reader的帮助下(在本地pc上)查看了此pdf?@AlexK谢谢您的帮助兄弟。我已在浏览器上提交了报告。我注意到的第一件事是,浏览器在查看pdf(用于保存、打印或导航)时,不会显示任何在chrome上显示的工具托盘。我右键单击并将报告保存在系统上。保存在计算机上的报告仍然不显示任何数据。
保存在计算机上的报告仍然不显示任何数据
-这意味着问题不在浏览器上,而在浏览器上report@AlexK该报告在chrome浏览器上显示数据。但在边缘的情况下,它不会。这就是为什么我认为这可能是由于浏览器的兼容性。