我有一个使用Vaadin Framework开发的Web应用程序,我使用Jasper报告生成一些报告。代码如下:
// Vaadin Button Listener
JasperDesign desenho = JRXmlLoader.load( layout );
JasperReport r= JasperCompileManager.compileReport( desenho );
// create some params and resultSet
JRResultSetDataSource jrRS = new JRResultSetDataSource( resultSet );
//Do some stuff
JasperPrint impressao = JasperFillManager.fillReport( r, params, jrRS );
JasperViewer viewer = new JasperViewer( impressao , true );
viewer.show();
用户按“显示报告”按钮后,报告将显示在jasper查看器窗口中
用户仍然可以使用网络应用程序MEANWHILE这个Jasper查看器窗口是打开的,但是在用户关闭它之后,Web应用程序会生成通信错误。显示 JSON文本错误,有时也是Pausing ProtocolHandler [“http-nio-8080”]
有什么想法吗?提前谢谢!
答案 0 :(得分:1)
完整的说明可以在this link上找到:
简短的回答是在下面一行将true
更改为false
:
JasperViewer viewer = new JasperViewer( impressao , true );
这是isExitOnClose参数,它在Jasper查看器上取消激活调用t System.exit(0),导致Tomcat关闭。