我有一个实体列表。反过来,它们包含可以包含 html 格式的字符串字段(它们是从富文本区域填充的),包括嵌入的图像。实体列表应以表格形式显示在生成的报告中,并显示这些字段中的值。
示例实体代码:
public class Entity {
String htmlFormatted;
String anotherHtmlFormatted;
List<String> listOfHtmlFormattedStrings;
// ...
}
我加载报告模板,向其中添加实体列表,然后对其进行处理:
IXDocReport report = ...
// metadata
metadata.addFieldAsTextStyling("entity.anotherHtmlFormatted", SyntaxKind.Html);
List<Entity> entities = new ArrayList<Entity>();
// add a list
entities.add(...);
context.put("entities", entities);
OutputStream out = new FileOutputStream(new File("..."));
report.process(context, out);
模板 docx 文件包含#foreach($entity in $entities)
围绕表格的指令。在表中,使用 eg 填充单元格$entity.anotherHtmlFormatted
,并且在单元格内的它们自己的foreach中呈现列表字段。
我使用metadata.addFieldAsTextStyling("entity.htmlFormatted", SyntaxKind.Html)
,但是,例如,不显示其中的嵌入图像。此外,列表前面的项目符号中有一些奇怪的空符号。
我该怎么做才能正确显示字段?以及如何正确显示列表字段?