java - Jasper 报告导出 html 空白页
问题描述
我使用库 Jasper Report 导出 html 文件。
我想将 test.jrxml 导出到 test.html 并使用 JSP 在 WEB 浏览器上显示 test.html。但是,下面的代码导出空白 html 文件。
这是我的代码 Controller.class:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.ui.Model;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.*;
import net.sf.jasperreports.engine.xml.*;
import net.sf.jasperreports.engine.type.WhenNoDataTypeEnum;
import java.util.HashMap;
import java.util.Map;
import java.lang.Exception;
@RequestMapping(value = {"${hdl.pdf.look.cert.lookCertLossView.url}/{lossSeq}/{certType}"}, method = RequestMethod.GET)
public String lookCertLossPdfView(Model model, HttpServletRequest request) {
String folderPath = "C:\\storage\\webapp\\resources\\";
try {
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("LOSS_SEQ","LOSS_SEQ");
parameters.put("USER_NICK","USER_NICK");
JasperReport jasperReport = JasperCompileManager.compileReport(folderPath+"test.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters);
jasperReport.setWhenNoDataType(WhenNoDataTypeEnum.ALL_SECTIONS_NO_DETAIL);
JasperExportManager.exportReportToHtmlFile(jasperPrint, folderPath+"test.html");
} catch (Exception e) {
e.printStackTrace();
}
model.addAttribute("folderPath", folderPath);
return this.lookCertLossPdfView;
}
这是我的代码 test.jrxml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.17.0.final using JasperReports Library version 6.17.0-6d93193241dd8cc42629e188b94f9e0bc5722efd -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="test" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="4dc7fbc1-ee8f-46a8-8bb0-446caea5bfd3">
<parameter name="LOSS_SEQ" class="java.lang.String"/>
<parameter name="USER_NICK" class="java.lang.String"/>
<columnHeader>
<band height="66" splitType="Stretch">
<staticText>
<reportElement x="120" y="30" width="130" height="31" uuid="6e89f263-d3aa-462e-ba03-5b4a2c2e4c59"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[lossseq]]></text>
</staticText>
<staticText>
<reportElement x="310" y="26" width="130" height="30" uuid="6caa9d32-16ea-4d73-b3d9-7087b8685220"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[usernick]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="125" splitType="Stretch">
<textField>
<reportElement x="120" y="10" width="130" height="30" uuid="525ae0f1-ef54-4f1e-aca3-c0956bf17619"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$P{LOSS_SEQ}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="310" y="10" width="130" height="30" uuid="cfc46246-6e45-4d3c-9e2e-929fe8f17dbf"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$P{USER_NICK}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
你能告诉我的代码的问题吗?
解决方案
推荐阅读
- json - How to get information with Track like Xml in json using exiftool
- apache-kafka - 序列化来自 Kafka Producer 的 msg 对象并存储在 Node-Red 流中的 influxdb 中
- next.js - 如何在 next.js 中为 Web 和移动设备创建单独的视图
- google-cloud-platform - 将来自不同项目的服务帐户分配给 Pub/Sub 上的推送订阅
- excel - VBA 计算当天完成的总数,并取决于拆分为三个不同工作表的标准
- cakephp - CakePHP 4.2 Annotate:不正确的应用程序命名空间
- python - 如何将值从 odoo js 传递到控制器?
- amazon-redshift - RedShift:嵌套 json 的一些问题
- python - 如何将空的可选参数从 Python 传递到 Excel VBA 宏
- javascript - 使用 Ajax 将 html 值发送到 Flask 控制器