目前我写了个JSP页面测试打印,但如果远程调用这个页面的话,打印预览是在服务器端开启的,怎么让它在客户端开启呢,这个JSP的源码如下:
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*" %>
<%@ page import="util.Conn" %>
<%@ page import="net.sf.jasperreports.view.JasperViewer" %>
<html>
<head>
<title>打印测试</title>
</head>
<body>
<%
try {
Connection conn = Conn.GetConn();
// 编译report.jrxml并在report.jrxml所在的目录中生成report.jasper文件
File reportFile = new File(application.getRealPath("iteminfo.jrxml"));
String filepath = reportFile.getParent();
JasperCompileManager.compileReportToFile(filepath+"\\iteminfo.jrxml");
// 填充数据
JasperFillManager.fillReportToFile(filepath+"\\iteminfo.jasper", null, conn);
// 预览报表,false代表不是使用xml文件。
JasperViewer view = new JasperViewer(filepath+"\\iteminfo.jrprint", false);
view.pack();
view.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
%> </body>
</html>
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*" %>
<%@ page import="util.Conn" %>
<%@ page import="net.sf.jasperreports.view.JasperViewer" %>
<html>
<head>
<title>打印测试</title>
</head>
<body>
<%
try {
Connection conn = Conn.GetConn();
// 编译report.jrxml并在report.jrxml所在的目录中生成report.jasper文件
File reportFile = new File(application.getRealPath("iteminfo.jrxml"));
String filepath = reportFile.getParent();
JasperCompileManager.compileReportToFile(filepath+"\\iteminfo.jrxml");
// 填充数据
JasperFillManager.fillReportToFile(filepath+"\\iteminfo.jasper", null, conn);
// 预览报表,false代表不是使用xml文件。
JasperViewer view = new JasperViewer(filepath+"\\iteminfo.jrprint", false);
view.pack();
view.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
%> </body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货