如何在Web应用程序中使用Visualizer?

时间:2011-09-23 06:24:35

标签: java jasper-reports

在我的应用程序中,我使用Jasper报告以各种格式生成报告。现在我正在尝试为一个巨大的结果集生成一个报告。当我通过网络时,发现我们可以使用虚拟器来处理大量数据。

我正在使用JRSwapFileVirtualizer,问题是什么时候创建它正在抛出File not found exception的JRSwap文件。

我提供了我在服务器中创建的文件夹的真实路径,我使用的是WAS 6.0服务器

请让我知道我做错了什么。

我的代码

JRSwapFile swapFile = new JRSwapFile("http://localhost:9080/contextPath/reports", 2048, 1024);
JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(3,swapFile, true); 

例外

net.sf.jasperreports.engine.JRRuntimeException: java.io.FileNotFoundException: http:\localhost:9080\context-path\reports\swap_864564104_1316758806309 (The filename, directory name, or volume label syntax is incorrect.)

1 个答案:

答案 0 :(得分:1)

从会话中获取绝对的contextPath:

HttpSession session = request.getSession(false);
ServletContext context = session.getServletContext();
ServletContextResource context = new ServletContextResource(context,"/reports");

您的代码:

JRSwapFile swapFile = new JRSwapFile(context.getFile().getAbsolutePath(), 2048, 1024);