我使用JETT模板引擎生成报告。JETT模板引擎支持以下格式的输入。
Map<String, Object> beans = new HashMap<String, Object>();
ValueObject beanName = new ValueObject();
beanName.setProperty("Hello, World!");
beans.put("beanName", beanName);我已经尝试了上面的方法,它工作得很好。但在本例中,类型对象引用的是Java实体类。在这里,我想使用JETT模板引擎生成报告,而不使用Java实体类。相反,我直接从JSON字符串创建了一个集合对象。我的Collection对象如下所示:
List<List<Map<String, String>>> packageList = new ArrayList<>();JETT模板引擎是否支持此格式?如何在JETT模板中引用映射中的键?
发布于 2018-02-13 16:47:48
只要您像处理Java实体对象一样将此对象存储在beans中,JETT就会支持此对象。
beans.put("myPackageList", packageList);一旦它存在,您就可以在JETT标记或表达式中引用"myPackageList"变量。
您可能希望遍历您拥有的两个列表,这很可能是通过一些forEach tags完成的。
一旦达到了操作Map对象的阶段(假设它存储在一个packageInfo变量中),就可以使用packageInfo.getKeys()对键执行forEach,并使用packageInfo.get(key)获取映射中的值。有关JETT中使用的脚本语言语法的更多详细信息,可以参考JEXL。
https://stackoverflow.com/questions/48744624
复制相似问题