我的FreeMarker FTL代码如下:
<a class="launch" href="${item.target-url}">View Now</a>
我从以下XML中提取了一个片段:
<item>
<target-url>www.test.com/jimmy</target-url>
</item>
<item>
<target-url></target-url>
</item>
<item>
<target-url></target-url>
</item>
我认为这应该有用。
但是当我查看我的html页面时,我收到以下错误:
尝试使用FTL模板进行转换时出现异常! freemarker.core.NonNumericalException:For&#34; - &#34;左手操作数:预期一个数字,但这被评估为一个序列+ hash(包装器:f.e.dom.NodeListModel):==&gt; item.target [在模板&#34; marketing / widgets / freemarker / newblogpost-update.ftl&#34;在第31行,第105列----提示:此XML查询结果不能用作字符串,因为它必须包含1个XML节点,但它包含0个节点。也就是说,构造XML查询没有找到匹配项。 ---- ---- FTL堆栈跟踪(&#34;〜&#34;表示与嵌套相关): - 失败于:$ {item.target - url?size!= 0} [在模板&#34中;营销/部件/ freemarker的/ newblogpost-update.ftl&#34;在第31行,第103栏----]
我认为我收到此错误是因为我的XML包含多个不包含数据的节点()。我的一些节点可能包含数据但不包含所有节点。有没有办法解决这个问题?
答案 0 :(得分:1)