Jasper报告中没有HTML超链接

时间:2015-08-20 13:25:11

标签: java jasper-reports

使用Java我可以生成单词Jasper报告,其中我有HTML链接(用于从一个地方到另一个地方)。我已经将标记属性设置为HTML。

JRDocxExporter newExporter = new JRDocxExporter();
newExporter.setParameter(JRDocxExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
newExporter.setParameter(JRDocxExporterParameter.OUTPUT_FILE_NAME, "REPORT_NAME" + System.currentTimeMillis() + ".docx");
newExporter.exportReport();

使用相同的jrxml,我从struts动作导出word文档。我无法获取文档中的HTML链接。我不知道是什么问题。我尝试了几种内容类型。

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
..
..
..
ServletOutputStream outputStream = null;
outputStream = response.getOutputStream();
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
JRDocxExporter docExporter = new JRDocxExporter();
docExporter.setParameter(JRDocxExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
docExporter.setParameter(JRDocxExporterParameter.OUTPUT_STREAM, byteArrayOutputStream);
docExporter.setParameter(JRDocxExporterParameter.OUTPUT_FILE_NAME, REPORT_NAME);
docExporter.exportReport();
response.setHeader("Cache-Control", "max-age=0");
response.setContentType("application/ms-word");
response.setHeader("Content-disposition", "attachment; filename=\"" + REPORT_NAME + "\"");
outputStream.write(byteArrayOutputStream.toByteArray());
outputStream.flush();
outputStream.close();
response.flushBuffer();

1 个答案:

答案 0 :(得分:0)

在JasperReports中,只有文本字段,图像和图表元素可以是超链接或锚点。你能检查一下你用于超链接的字段类型(静态文本字段或文本字段)吗?