Java freemarkers跳过assertNonNull InvalidReferenceException
我使用freemarker渲染对象列表:Java freemarkers跳过assertNonNull InvalidReferenceException,java,exception,freemarker,Java,Exception,Freemarker,我使用freemarker渲染对象列表: <ul> <#list publication as item> <li><b>${item.key}</b> : ${item.value}</li> </#list> </ul> 我希望freemarker呈现“null”或什么都不呈现,并继续发送邮件,而不是阻止发送 在将列表发送到freemarker之前,我可以先检查列
<ul>
<#list publication as item>
<li><b>${item.key}</b> : ${item.value}</li>
</#list>
</ul>
我希望freemarker呈现“null”或什么都不呈现,并继续发送邮件,而不是阻止发送
在将列表发送到freemarker之前,我可以先检查列表,但如果我可以避免此步骤,则更好如果缺少值,则应在模板中进行检查,然后打印对收件人有意义的内容(“null”对他们来说肯定没有意义)。例如,如果项目不需要任何值,则不适用:
<li><b>${item.key}</b> : ${item.value!'N/A'}</li>
${item.key}:${item.value!'N/A'}
或者,如果由于记录仍然不完整而缺少值,则跳过整行:
<#if item.value??>
<li><b>${item.key}</b> : ${item.value}</li>
</#if>
${item.key}:${item.value}
如果缺少值,则应在模板中进行检查,然后打印对收件人有意义的内容(“null”对他们来说肯定没有意义)。例如,如果项目不需要任何值,则不适用:
<li><b>${item.key}</b> : ${item.value!'N/A'}</li>
${item.key}:${item.value!'N/A'}
或者,如果由于记录仍然不完整而缺少值,则跳过整行:
<#if item.value??>
<li><b>${item.key}</b> : ${item.value}</li>
</#if>
${item.key}:${item.value}
这也是一个处理空值的有效选项:${item.value!}当然,它与${item.value!'}
相同,因此如果您将'
用作默认值,也可以。这也是一个处理空值的有效选项:${item.value!}当然,它与${item.value!'}相同,因此,如果您将使用'
作为默认值,也可以。