Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jasper报告详细标注栏数据未显示在边缘浏览器中_Java_Jasper Reports_Microsoft Edge_Export To Pdf - Fatal编程技术网

Java Jasper报告详细标注栏数据未显示在边缘浏览器中

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报告中。问题背后的原因是两个请求被发送到报告的控制器。因此,报告中没有填充数据。我

关于jasper报告,我面临的问题是,我的报告的详细波段数据未显示在edge浏览器中。在其他浏览器上,报告显示得非常完美。 我已经将JAR和软件从6.1更新到6.3,因为6.1不支持边缘浏览器,但问题仍然存在。我还将框架放置在字段后面的详细波段(用于测试目的),但什么也没发生。 我想补充的一点是,在没有数据类型和报表显示空白报表的情况下,我选择了空白页面。应该从中推断出什么。
我想补充的一点是,这个问题发生在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浏览器上显示数据。但在边缘的情况下,它不会。这就是为什么我认为这可能是由于浏览器的兼容性。