gpt4 book ai didi

java - JETT 模板引擎不支持集合列表,而是支持 Java 实体类列表

转载 作者:行者123 更新时间:2023-12-02 11:38:29 25 4
gpt4 key购买 nike

我使用 JETT 模板引擎来生成报告。 JETT模板引擎支持以下输入格式。

Map<String, Object> beans = new HashMap<String, Object>();
ValueObject beanName = new ValueObject();
beanName.setProperty("Hello, World!");
beans.put("beanName", beanName);

上面的方法我都试过了,效果很好。但在本例中,类型 Object 指的是 Java 实体类。在这里,我想使用 JETT 模板引擎生成报告,而不使用 Java 实体类。相反,我直接从 JSON 字符串创建了一个集合对象。我的 Collection 对象如下所示:

List<List<Map<String, String>>> packageList = new ArrayList<>();

JETT模板引擎支持这种格式吗?如何在 JETT 模板中引用 map 中的键?

最佳答案

只要您像使用 Java 实体对象一样将其存储在 beans Map 中,JETT 就会支持该对象。

beans.put("myPackageList", packageList);

一旦出现,您就可以在 JETT 标记或表达式中引用“myPackageList” 变量。

您可能想要迭代您拥有的两个列表,这可能会通过一些 forEach tags 来完成。 。

一旦到达操作 Map 对象的阶段(假设它存储在 packageInfo 变量中),您就可以执行 forEach使用 packageInfo.getKeys() 在键上,并使用 packageInfo.get(key) 对于每个键获取映射中的值。关于JETT使用的脚本语言语法的更多详细信息,可以引用JEXL .

关于java - JETT 模板引擎不支持集合列表,而是支持 Java 实体类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744624/

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