首页 > 解决方案 > 如何将 HTML 内容(无样式)导入文本字段?

问题描述

我在 HTML 文件中有一些信息。还有更多的 HTML 文件,它们都包含依赖于输入参数的字符串(粗体)。

举个例子:

file_**01**.html    --> contains: "Bob Bakers"

file_**02**.html    --> contains: "Alice Armstrong"

HTML 文件存储在存储库中,我想将这些文件之一的内容导入/加载到文本字段中。对于一些图像,我做了类似的事情:

 "repo:/home/res/images/" + $F{html_param} + ".html"

并且根据参数,它会加载正确的图像。我需要对 HTML 文件中的字符串执行相同的操作。

如果无法使用文本字段执行此操作,是否还有其他选项可以导入/加载内容并在报告中显示它们?

标签: jasper-reports

解决方案


你可以做这样的事情

        <textField>
            <reportElement .../>
            <textElement markup="html"/>
            <textFieldExpression>new String(net.sf.jasperreports.repo.RepositoryUtil.getInstance($P{JASPER_REPORTS_CONTEXT}).getBytesFromLocation("repo:/home/res/images/" + $F{html_param} + ".html"), java.nio.charset.StandardCharsets.UTF_8)</textFieldExpression>
        </textField>

只要 html 文件结构简单,这将起作用,否则markup="html"可能无法解释文档。


推荐阅读