.jasper文件不能通过编辑修改直接用需要通过代码生成
代码如下:
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperRunManager;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
/**
* @Author: zsc
* @createTime: 2022年09月07日 09:07:42
* @version: 1.0
* @Description:
*/
public class test {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String path = "D:/***/report/reportContent_cover.jrxml";
File file = new File(path);
String parentPath = file.getParent();
String jrxmlDestSourcePath = parentPath + "/report1.jasper";
System.out.println("jrxmlDestSourcePath---------------------" + jrxmlDestSourcePath);
JasperCompileManager.compileReportToFile(path,
jrxmlDestSourcePath);
FileInputStream isRef = new FileInputStream(new File(jrxmlDestSourcePath));
ServletOutputStream sosRef = response.getOutputStream();
response.setContentType("application/pdf");
JasperRunManager.runReportToPdfStream(isRef, sosRef, new HashMap(),
new JREmptyDataSource());
sosRef.flush();
sosRef.close();
} catch (JRException e) {
e.printStackTrace();
}
}
}