gpt4 book ai didi

javascript - 如何在 JasperReports 报表中插入 JavaScript

转载 作者:行者123 更新时间:2023-11-30 05:32:24 25 4
gpt4 key购买 nike

如何在 JasperReports 的报告中添加 JavaScript 行?

我添加了一个静态文本字段并标记为 HTML 并将文本插入为 <script></script>

但导出时不显示JavaScript

<band height="79" splitType="Stretch">
<staticText>
<reportElement mode="Opaque" x="0" y="0" width="555" height="79" backcolor="#EEEEEE"/>
<textElement markup="html"/>
<text><![CDATA[<script type="text/javascript">window.alert('hello');</script>]]></text>
</staticText>
</band>

我是不是还缺少一些要设置的属性?而且我找不到具体的文档来解释如何在报告中嵌入 JavaScript 代码。如果可用,请提供指向任何文档的链接

最佳答案

我认为您在 HTML 标记中添加 javascript 的方式不会在导出的 HTML 中呈现为脚本。但是我知道另一种方法。请参阅下面的代码片段:

StringBuffer sbuf = new StringBuffer();
net.sf.jasperreports.engine.export.JRHtmlExporter exporter = new net.sf.jasperreports.engine.export.JRHtmlExporter();

exporter.setParameter(net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STRING_BUFFER, sbuf);
.
.
.
exporter.exportReport();

sbuf.append("<script type=\"text/javascript\">window.alert('hello');</script>");

String content = sbuf.toString();

参数 OUTPUT_STRING_BUFFER 将导出的输出发送到 StringBuffer(在本例中为 sbuf)。然后,您可以将脚本附加到导出的 HTML 中,最后使用 JSP 打印内容,例如:

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<meta http-equiv='Content-Disposition' content='inline'>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" style="background-color:white">
<tr>
<td width="100%" valign="middle" align="center">
<%=content%>
</td>
</body>
</html>

关于javascript - 如何在 JasperReports 报表中插入 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26030775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com