当前位置: 首页 > 知识库问答 >
问题:

在Freemarker中迭代Object:List映射

闾丘谦
2023-03-14
 <#list subscriptionsWithPiNotices?keys as s>
 ${s.title}

    <#list subscriptionsWithPiNotices[s] as piNotice>
    Autoritate contractanta: ${piNotice.contractingAuthorityName}
    .
    .
    </#list>
</#list>
                           FreeMarker template error: The following has evaluated to null or missing:

提示:如果已知失败的表达式在法律上为null/missing,可以使用myoptionalvar!mydefault指定默认值,或者使用<#If myoptionalvar??>when-present<#else>when-missing。(这些只覆盖表达式的最后一步;要覆盖整个表达式,请使用parenthessis:(myoptionvar.foo)!mydefault,(myoptionvar.foo)??

失败指令(FTL堆栈跟踪):

==>#列出订阅表[s]a...[在模板“seap-subscription-newsletter.ftl”第21行,第9列]#列表subscriptionswithpinotices?keys...[在模板“seap-subscription-newsletter.ftl”中,第18行,第5栏]

共有1个答案

霍永年
2023-03-14

最后,我设法解决了这个问题,通过配置

BeansWrapper bw = BeansWrapper.getDefaultInstance();
bw.setSimpleMapWrapper(true);
cfg.setObjectWrapper(bw);

然后使用

map(key)语法,而不是map[key]或map.key。它似乎适用于任何类型的键类。

 类似资料:
  • 本文向大家介绍C++映射迭代器,包括了C++映射迭代器的使用技巧和注意事项,需要的朋友参考一下 示例 容器中第一个元素的迭代器。 如果映射对象是const限定符,则该函数返回const_iterator。否则,返回iterator。 输出: a => 200 b => 100 c => 300

  • null 一些示例输出数据: *编辑:工作的scala代码行:

  • 我想迭代嵌套在映射中的列表,数据结构如下所示: Freemarker模板: 详细异常消息: FreeMarker模板错误:“...[...]”左操作数:需要序列或字符串或自动转换为字符串的东西(数字、日期或布尔值),但计算结果为extended_hash(包装器:f.t.simplehash):==>groups 那么,问题出在哪里呢? 附言。 我尝试了而不是,它会抛出一个新的异常堆栈:

  • 我有两份清单: 列表1: Object1(name1, id1) 列表2: Object2(name2, id2) 给定list1的大小与list2相同 我想迭代list2,如果list2的name2不为null,则更新list1的name1。 以下是使用旧java的代码: 用java实现这一点的最佳方法是什么。util。流动

  • 我有我创建的地图的地图 我尝试在第二个映射中迭代键的值。 所以它可以是这样的: key1->keya->value1 -------->键->值2 -------->键->值4 -------->KeyC->value1 我想继续多久就继续多久。 因此,我有,并尝试使用名为的值变量和增量计数器if来循环中的所有值 我不知道如何获得。我试着这样做 但这给了我信笺。 如果我执行,它会给出我想要的正确值

  • 我在迭代一个对象内的列表时遇到了一个问题,该对象内嵌在另一个映射中。我的目标是迭代这个列表并生成一个映射 ,我希望使用streams和lamdas来实现这一点。 我在上面看到了,我需要通过迭代FolderBo中的elementList从elementBo创建一个带有map 的映射。folderBo本身就在Modelbo的地图内。