Jasper报告详细信息Band Data未在Edge Browser中显示

时间:2017-05-31 09:44:56

标签: java jasper-reports microsoft-edge export-to-pdf

我面临的关于jasper报告的问题是我的报告的详细波段数据没有在边缘浏览器中显示。在其他浏览器上,报告显示完美。 我已经将jar和软件从6.1更新到6.3,因为6.1不支持边缘浏览器,但问题仍然存在。我也把框架放在细节带的字段后面(用于测试目的)但没有发生任何事情。    我要添加的一件事是,如果没有数据类型和报告显示空白报告,我选择了空白页面。应该从中推断出什么。 我想补充一点的是,这个问题发生在pdf报告

1 个答案:

答案 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;
                }
            }

添加此代码后,我的报告在边缘浏览器中显示详细信息区域中的数据。希望它也会帮助其他任何人。